我看到很多关于这个主题的事情,但我无法找到解决方案.我添加了许多下拉列表与一个事件,但他们没有触发SelectedIndexChanged evet.这是drplist创建者代码:
foreach (var row in cmdSelectCats.ExecuteReader())
{
var id = row["ProductCategoryID"].ToString();
var dropDownStatus = new DropDownList {ID = "DrpStatus-" + id};
dropDownStatus.Items.Add(new ListItem("Aktif", "1"));
dropDownStatus.Items.Add(new ListItem("Pasif", "2"));
dropDownStatus.AutoPostBack = true;
dropDownStatus.SelectedIndexChanged += Status_SelectedIndexChanged;
var tableCell = new TableCell();
tableCell.Controls.Add(dropDownStatus);
dropDownStatus.SelectedValue = row["ProductCategoryStatusID"].ToString();
tableRow.Cells.Add(tableCell);
TblCatList.Rows.Add(tableRow);
}
Run Code Online (Sandbox Code Playgroud)
当然是我的活动:
public void Status_SelectedIndexChanged(object sender, EventArgs e)
{
//DO SOMETHING
}
Run Code Online (Sandbox Code Playgroud)
我错过了什么?
如何获取最后一次单击面板上对象的名称?诀窍是面板上有一大堆按钮(btn [1] ... btn [200]).如何检查是否单击按钮b [180],b [11]或甚至是面板外部(无按钮)?此外,按钮是通过编码在页面加载时生成的.谢谢.安娜
编辑:谢谢!出现的另一个问题(这会产生一个NULL对象引用):我有一个与buttonHandler()处于同一级别的方法,它被命名为HowManyClicked(),并且它是从buttonHandler()中调用的.在HowManyClicked()里面我想将Button btn1 = Panel2.FindControl(x)识别为Button; 其中x是,例如,buttonArray [2,3].但我总是得到NULL.按钮数组buttonArray是否在生成它的方法中不能通过名称识别?
public void buttonHandler(object sender, EventArgs e)
{
Button btn = sender as Button;
//string tt = btn.ToolTip.ToString();
btn.BackColor = Color.Red;
statusL.Text = HowManyClicked().ToString();
}
public int HowManyClicked()
{
int sum=0;
for (int a = 0; a < 10; a++)
for (int b = 0; b < 14; b++)
{
string x = "buttonArray[" + a + ", " + b + "]";
statusL.Text = x; …Run Code Online (Sandbox Code Playgroud)