我有一個方法,我正在創建一些圖像按鈕。我添加了下面的行: btnCity.Click + = new ImageClickEventHandler(btnCity_Click); 給代碼點擊事件的方法。編程添加圖像按鈕+點擊
在@亞切克的請求添加代碼中添加按鈕:
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");
}
,但它不工作。任何建議它應該是什麼樣子?
調試器是否進入你的方法? – Jacek
總是澄清,「它不起作用。」什麼沒有用?你是否得到一個錯誤,是否得到了不同的輸出,如果是這樣,具體的區別是什麼等等。此外,在這種情況下,一定要解釋你是如何觀察什麼是/不工作的;即使它正在工作,您也可能會觀察到行爲不正確。 – Servy
如果您創建動態控件 - 您需要在每次回發時重新創建它們 - 您是否這樣做? –