读书人

小弟我把TreeView做成用户控件 传值给

发布时间: 2013-04-21 21:18:07 作者: rapoo

我把TreeView做成用户控件 传值给页面 然后页面不刷新
我把TreeView做成用户控件 需要复用 然后在页面中添加这个用户控件
然后用checkbox选中节点 然后点击Button传值 下面是button代码


ArrayList a = new ArrayList();
protected void ImageButton1_Click(object sender, ImageClickEventArgs e)
{
for (int i = 0; i < this.TvMenu.CheckedNodes.Count; i++)
{
if (TvMenu.CheckedNodes[i].ChildNodes.Count == 0) //只添加最后一层子节点
a.Add(TvMenu.CheckedNodes[i].Value);
}
Session["TreeViewValues"] = a;
Session["state"] = "leftsearch";
// Response.Redirect("/OMMS/contractManage.aspx");
}

页面中获取ArrayList值得方法放在Page_load中 简写一下
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
else if (Convert.ToString(Session["state"]) == "leftsearch")
{
bindgdv1left();
}
}

Session的值肯定能接收到 但是用户控件中的button并不会让页面刷新啊 所以进入不了Page_load方法 也就无法绑定GridView了 这个问题我试着在button中用js方法刷新页面没效果 要是直接写上Response.Redirct()确实是可以 但是这样就不容易复用了 也就失去了用户控件的意义了 这个问题怎么解决?
[解决办法]
引用:
引用:中午在睡觉好吧。。。当然没有人啦。
按说默认情况,这个button肯定是会触发postback,为啥不会刷新页面呢?
但你这个page_load是用户控件的还是主页面的就不知道了。

你redirect过去肯定不是postback啊,你的代码是写到if(!IsPostBack)里面还是外面啊?
按按钮的话肯定是要走if(IsP……


你postback和redirect有什么区别吗?除非你想做无刷新

读书人网 >asp.net

热点推荐