treeview获取不到值

c02645 2009-08-17 06:55:54
母板页设置了EnableViewState="false"
怎么在页面里给绑定的treeview获取已勾选的项啊?
把绑定代码放到
if (!IsPostBack)
的话,点任何按钮,treeview都清空了
不放的话,又重绑定原来的值进treeview里了
...全文
109 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
c02645 2009-08-18
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 c02645 的回复:]
怎么设置了EnableViewState="false"
那么多控件那么难用啊,drowdowmlist,checkboxlist,treeview都真他妈的太垃圾啊,都不想玩.net了
[/Quote]


在html没有value的值啊,只有text的值
边城的刀声 2009-08-17
  • 打赏
  • 举报
回复
在提交页面前,用JS遍历所有选中的input,存到一个hidden中。然后Request这个Hidden
c02645 2009-08-17
  • 打赏
  • 举报
回复
怎么设置了EnableViewState="false"
那么多控件那么难用啊,drowdowmlist,checkboxlist,treeview都真他妈的太垃圾啊,都不想玩.net了
c02645 2009-08-17
  • 打赏
  • 举报
回复

using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;

using zp365.admin.BLL;
public partial class myadmin_sys_WebSiteAuthority : System.Web.UI.Page
{
DataTable dtTree = new DataTable();
DataTable dtCheck = new DataTable();
private Int32 SiteID = 0;
private ArrayList AuthorityID = new ArrayList();
protected void Page_Load(object sender, EventArgs e)
{
ASP.sysMaster sysM = (ASP.sysMaster)this.Master;
sysM.SetStateEnabled(true);
sysM.BtBack.Enabled = false;
sysM.ToolBarClick += new zp365.Lib.Web.CommandDelegate(sysM_ToolBarClick);

Int32.TryParse(Request["SiteID"], out SiteID);
if (!IsPostBack)
bindData();
}
void sysM_ToolBarClick(object sender, EventArgs e)
{
switch (((ImageButton)sender).CommandName)
{
case "save":
if (SiteID > 0)
{
AuthorityID.Clear();
collectNodes(null);
//if (websiteBll.save(model) > 0)
// dialog1.openMsg(WebsiteID == 0 ? "添加成功!" : "修改成功", "/myadmin/sys/Website.aspx", false);
//else
// dialog1.openMsg("操作失败!");
}
break;
}
}
private void bindData()
{
if (SiteID > 0)
{
dtTree = authorityBll.getAll();
dtCheck = websiteAuthorityBll.getAll(SiteID);
loadTree(null, "0");
}
}
/// <summary>
/// 加载树
/// </summary>
/// <param name="tbl"></param>
/// <param name="tn"></param>
/// <param name="preID"></param>
protected void loadTree(TreeNode tn, string preID)
{
DataView dv = dtTree.DefaultView;
dv.RowFilter = "ParentID=" + preID;
foreach (DataRowView row in dv)
{
TreeNode node = new TreeNode();
node.Text = row["name"].ToString();
node.Value = row["id"].ToString();
node.SelectAction = TreeNodeSelectAction.Expand;

if ((Int32)dtCheck.Compute("count(AuthorityID)","AuthorityID="+row["id"].ToString())>0)
node.Checked = true;

if (tn == null)
tree.Nodes.Add(node);
else
tn.ChildNodes.Add(node);

loadTree(node, row["id"].ToString());
}

}
/// <summary>
/// 获取选中的结点
/// </summary>
/// <param name="node"></param>
private void collectNodes(TreeNode node)
{
TreeNodeCollection tnc;
if (node == null)
tnc = this.tree.Nodes;
else
tnc = node.ChildNodes;

foreach (TreeNode tn in tnc)
{
if (tn.Checked)
AuthorityID.Add(tn.Value);
collectNodes(tn);
}
}
}
yagebu1983 2009-08-17
  • 打赏
  • 举报
回复
需要重新绑定的。。。
ivws_19 2009-08-17
  • 打赏
  • 举报
回复
怎么会清空,贴你的代码看看

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧