我有一个 asp.net 项目并使用 C# 工作。
在我的项目中,我有一个带有复选框的数据绑定列表框。
例如,当用户单击复选框时,它应该更新标签/文本框。
问题是,它不会更新标签/文本框,直到我单击执行回发的按钮。我将如何调用复选框更改事件的回发,因为“OnTreeNodeCheckChanged”事件看起来只在触发回发后才会触发?
这是否是一个好主意(每次更改复选框时都希望调用回发)
--更新了代码片段--
天冬氨酸
<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);
}
}
}