繁体   English   中英

以编程方式添加图像按钮+单击

[英]Programmatically added image button + click

我有一种创建一些图像按钮的方法。 我在下面添加了一行:btnCity.Click + = new ImageClickEventHandler(btnCity_Click); 编码click事件的方法。

在@Jacek的请求中,添加了添加按钮的代码:

private void LocateCities()
{
IDBManager dbManager = new DBManager(DataProvider.SqlServer);
dbManager.ConnectionString = @"Data Source=server; Initial Catalog=db;  Integrated Security = SSPI;";
try
{
    dbManager.Open();
    dbManager.CreateParameters(2);
    dbManager.AddParameters(0, "@Function", "All");
    dbManager.AddParameters(1, "@Team", "All");
    DataSet ds = new DataSet("Stuff");
    ds = dbManager.ExecuteDataSet(CommandType.StoredProcedure, "sp_select_staff_and_cities");                    

    foreach (DataRow dr in ds.Tables[0].Rows)
    {
        int xaxis = Convert.ToInt32(dr["xaxis"]) ;
        int yaxis = Convert.ToInt32(dr["yaxis"]) ;
        int textxaxis = xaxis + 30;
        int textyaxis = yaxis - 10;

        ImageButton btnCity = new ImageButton();
        btnCity.ImageUrl = "~/Images/cyanball1.gif";
        btnCity.Height = 10;
        btnCity.Attributes.Add("style", "Z-INDEX:100; POSITION:relative; left:" + xaxis + "px; TOP:" + yaxis + "px; Left:10px;Right:10px");

        Label lblCity = new Label();
        lblCity.Text = dr["city"].ToString();
        lblCity.Attributes.Add("style", "Z-INDEX: 100;POSITION:relative; left:" + textxaxis + "px; TOP:" + textyaxis + "px");

        PanelMap.Controls.Add(lblCity);
        PanelMap.Controls.Add(btnCity);    
    }
}
catch (Exception ex)
{
    Response.Write(ex.ToString());
}
finally
{
    dbManager.Dispose();
}
}

我还创建了以下方法来处理click事件:

 void btnCity_Click(object sender, ImageClickEventArgs e)
 {
     ImageButton btnCity = (ImageButton)sender;
     Response.Write("works");
 }

但这不起作用。 有什么建议吗?

在执行Response.Write时,您需要先调用Response.Clear,然后再调用Response.End。

另外,我通常发现将img标签放在linkbutton内比图像按钮更好。

我解决了这个难题。 将城市添加到页面的方法仅在if(!Page.IsPostBack)中。 我已将其添加到其他文件,并且现在可以使用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM