一道ASP.NET的程序题!烦请各位大侠帮忙!小弟感激不尽!
如图:左边是aspxtreeview,右边是aspxlistbox,我想实现的是:当单击listbox中选项时,在左边treeview中将对应的那项的钩去掉!请问用代码如...
如图:左边是aspxtreeview,右边是aspxlistbox,我想实现的是:当单击listbox中选项时,在左边treeview中将对应的那项的钩去掉!请问用代码如何做,感激不尽!
展开
1个回答
展开全部
前台:
<body>
<form id="form1" runat="server">
<div>
<asp:TreeView ID="tv" runat="server" ShowCheckBoxes="All">
<Nodes>
<asp:TreeNode Checked="True" Text="222"></asp:TreeNode>
<asp:TreeNode Checked="True" Text="111"></asp:TreeNode>
</Nodes>
</asp:TreeView>
</div>
<asp:ListBox ID="lb" runat="server"
onselectedindexchanged="Unnamed2_SelectedIndexChanged" AutoPostBack="True">
<asp:ListItem>111</asp:ListItem>
<asp:ListItem>222</asp:ListItem>
</asp:ListBox>
</form>
</body>
注意ListBox的 AutoPostBack="True"
后台:
给ListBox增加SelectedIndexChanged事件
protected void Unnamed2_SelectedIndexChanged(object sender, EventArgs e)
{
string val = this.lb.SelectedValue;
foreach (TreeNode node in this.tv.Nodes)
{
if (node.Text == val)
{
node.Checked=false;
}
}
}
<body>
<form id="form1" runat="server">
<div>
<asp:TreeView ID="tv" runat="server" ShowCheckBoxes="All">
<Nodes>
<asp:TreeNode Checked="True" Text="222"></asp:TreeNode>
<asp:TreeNode Checked="True" Text="111"></asp:TreeNode>
</Nodes>
</asp:TreeView>
</div>
<asp:ListBox ID="lb" runat="server"
onselectedindexchanged="Unnamed2_SelectedIndexChanged" AutoPostBack="True">
<asp:ListItem>111</asp:ListItem>
<asp:ListItem>222</asp:ListItem>
</asp:ListBox>
</form>
</body>
注意ListBox的 AutoPostBack="True"
后台:
给ListBox增加SelectedIndexChanged事件
protected void Unnamed2_SelectedIndexChanged(object sender, EventArgs e)
{
string val = this.lb.SelectedValue;
foreach (TreeNode node in this.tv.Nodes)
{
if (node.Text == val)
{
node.Checked=false;
}
}
}
追问
烦请问下,为什么ListBox的 AutoPostBack="True"必须是true呢,false不可以吗?
还有一个是treeview的AutoPostBack是true还是false呢?真是麻烦你了!
追答
ListBox的 AutoPostBack
如果是false 你就没办法触发SelectedIndexChanged这个事件。你可以试试
至于treeview 的AutoPostBack你看情况。如果你的treeview需要触发舍呢么点击事件的话。那么则需要为true 。否则就为false就可以了
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询