我有一个 asp.net 项目并使用 C# 工作。
在我的项目中,我有一个带有复选框的数据绑定列表框。
例如,当用户单击复选框时,它应该更新标签/文本框。
问题是,在我单击执行回发的按钮之前,它不会更新标签/文本框。我将如何调用复选框更改事件的回发,因为“OnTreeNodeCheckChanged”事件看起来只有在触发回发后才会触发?这甚至是一个好主意吗(每次更改复选框时都想调用回发)
--更新的代码片段-- Asp
<asp:TreeView ID="treevCourses" runat="server" AutoPostBack="true" ShowCheckBoxes="All" Width="100%"
OnTreeNodeCheckChanged="check_changed" Height="16px" ImageSet="Contacts">
(尝试在 C# 部分使用处理程序。)C#
protected void check_changed(object sender, TreeNodeEventArgs e)
{
lblTest.Text = "TestText";
}
(也尝试将它放在脚本部分)
void check_changed(object sender, EventArgs e)
{
lblTest.Text = "TestText";
}
将数据绑定到 Treeview(这发生在按钮回发上)
foreach (DataRow row in ds.Tables[0].Rows)
{
TreeNode node = new TreeNode(row["courseName"].ToString(), row["courseName"].ToString());
// node.PopulateOnDemand = true;
treevCourses.Nodes.Add(node);
}
//select from topic where parentId = topicId.
ds = myConClass.returnSqlDataset("select cd.courseName,ct.[date] from courseDetails cd join courseTimes ct on cd.courseId = ct.courseId");
foreach (TreeNode treenode in treevCourses.Nodes)
{
foreach (DataRow row in ds.Tables[0].Rows)
{
if (row["courseName"].ToString() == treenode.Value)
{
TreeNode node = new TreeNode(row["date"].ToString(), row["date"].ToString());
treenode.ChildNodes.Add(node);
}
}
}