gpt4 book ai didi

c# - ASP.NET PostBack 选择 TreeView 的复选框

转载 作者:行者123 更新时间:2023-11-30 13:32:09 25 4
gpt4 key购买 nike

我有一个 asp.net 项目并在 C# 中工作。

在我的项目中,我有一个带有复选框的数据绑定(bind)列表框。

例如,当用户点击复选框时,它应该更新标签/文本框。

问题是,在我单击执行回发的按钮之前,它不会更新标签/文本框。我将如何在复选框更改事件上调用回发,因为“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";
}

将数据绑定(bind)到 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);
}
}
}

最佳答案

TreeView 上没有 AutoPostBack 属性。根据MSDN , TreeNodeCheckChanged 事件在 TreeView 控件中的复选框在服务器发布之间更改状态时引发

您需要做一些其他事情,如 this link 中提到的那样

1) 在页面加载时将点击属性添加到 TreeView1

protected void Page_Load(object sender, EventArgs e)
{
TreeView1.Attributes.Add("onclick", "postBackByObject()");
}

2) 添加java脚本函数并进行回发

    <script type="text/javascript">

function postBackByObject()
{
var o = window.event.srcElement;
if (o.tagName == "INPUT" && o.type == "checkbox")
{
__doPostBack("","");
}
}
</script>

3).实现 TreeNodeCheckChanged 事件

protected void TreeView1_TreeNodeCheckChanged(object sender, TreeNodeEventArgs e)
{
// do stuff
}

关于c# - ASP.NET PostBack 选择 TreeView 的复选框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15945027/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com