首先:我在这里看到堆栈溢出很多答案,与我的主题相关,但我不明白答案,因为我对c#,asp.net和web应用程序开发的新手。如果我在这里详细解释我的问题,我认为它会更好。请注意,我真的是网络开发的新手,所以我真的需要细节。
我的任务(问题): 我已经在我的codebehind文件的一个方法中创建了一个表,以向用户和每个用户显示一个复选框。 user1复选框 user2复选框 user3复选框 ... 目标是,应用程序应该将此用户排除在某些进一步的操作之外。 以下是codesnippet,其中创建了表:
TableRow trHead = new TableRow();
TableCell tcNameHead = new TableCell();
//Header of the first column of the Table
tcNameHead.Text = "Users to be deleted";
tcNameHead.CssClass = "headerResultsRowForProject";
trHead.Cells.Add(tcNameHead);
//Here is de first entry of the 'exclude_from_delete' column
TableCell tcGroupHead = new TableCell();
tcGroupHead.Text = "exclude from delete";
tcGroupHead.CssClass = "headerResultsRow";
trHead.Cells.Add(tcGroupHead);
TableBert.Rows.Add(trHead);
foreach (ListItem li in list_deletedUsers.Items)
{
String s = li.Text;
//Creating the basic Elements
TableRow myrow = new TableRow();
TableCell cellone = new TableCell();
TableCell celltwo = new TableCell();
CheckBox cb = new CheckBox();
//cb.CheckedChanged += cb_CheckedChanged;
//cb.CheckedChanged += this.cb_CheckedChanged; /*does not work!*/
//cb.CheckedChanged += new System.EventHandler(cb_CheckedChanged); /*does not work!*/
//Setting the values and adding cells to row
cellone.Text = s;
myrow.Cells.Add(cellone);
celltwo.Controls.Add(cb);
celltwo.ApplyStyle(tableStyle);
myrow.Cells.Add(celltwo);
//Third Column Cell for further use
//TableCell cellthree = new TableCell();
//cellthree.BackColor = System.Drawing.Color.AliceBlue;
//Adding to Row
//myrow.Cells.Add(cellthree);
//Adding to TableBert
TableBert.Rows.Add(myrow);
}
表格显示(和bevore:created),每次,我选择网站上合适的单选按钮。
但是现在我遇到了事件处理的问题:我必须检查,标记了哪个复选框并从特殊列表中删除相应的用户(因此该用户不会成为以下过程的一部分)。
我已经编写了事件处理代码,这里是代码片段:
protected void cb_CheckedChanged(object sender, EventArgs e)
{
//do sth.
}
但是这个方法永远不会被调用。我真的不明白,但我一整天都在谷歌上搜索。据我所知:它与页面生命周期有关,我通过点击复选框引发回发事件?就像你看到的,我不是舒尔。我还读过,应该“在page_load方法中创建动态控件”。但我没有我的复选框,如果我得到了pageload方法,或者至少,我不知道如何处理它。我会感激任何想法,任何解释。如果你能用一些好的页面来支持我,这将有助于我自己学习这个(以及其他主题),这对我有帮助。 :)
注意:我已经在某些微软页面上,这里是在stackoverflow和其他页面上,讨论了这个主题。但我想,我需要有人,他详细解释,这里有什么,以及我如何能够一步一步地和背景一起做事件处理。或者通过互联网资源支持我,这解释了我应该知道的一切。请不要忘记:我是全新的;)