[英]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.