ASP.NET中IsPostBack的问题
今天在做网页时做GirdView中checkbox的选中问题,选中后CheckBoxcbox=(CheckBox)GridView1.Rows[i].FindContro...
今天在做网页时做GirdView中checkbox的选中问题,选中后
CheckBox cbox = (CheckBox)GridView1.Rows[i].FindControl("CheckBox1");
的cbox.Checked始终为false,为什么在Page_Load中加入
if (!IsPostBack)
就可以了? 展开
CheckBox cbox = (CheckBox)GridView1.Rows[i].FindControl("CheckBox1");
的cbox.Checked始终为false,为什么在Page_Load中加入
if (!IsPostBack)
就可以了? 展开
6个回答
展开全部
IsPostBack表示页面是否回发,if (!IsPostBack)就是说当页面不是回发时就执行相应的代码。
当比点击一个按钮时,页面就会回发,此时IsPostBack为true,然后页面就会重新生成,因此也会执行Page_Load中的代码,这是页面上所有的控件会重新生成,也就是说如果你没有加上if (!IsPostBack)的话,“CheckBox cbox = (CheckBox)GridView1.Rows[i].FindControl("CheckBox1");”这句话获取得的
CheckBox 是新生成的,而不是原来的那个,所以就一直为false了。
当比点击一个按钮时,页面就会回发,此时IsPostBack为true,然后页面就会重新生成,因此也会执行Page_Load中的代码,这是页面上所有的控件会重新生成,也就是说如果你没有加上if (!IsPostBack)的话,“CheckBox cbox = (CheckBox)GridView1.Rows[i].FindControl("CheckBox1");”这句话获取得的
CheckBox 是新生成的,而不是原来的那个,所以就一直为false了。
展开全部
加上 if (!IsPostBack)后GridView1不会重新绑定值。
如果不加的话GridView1重新绑定值,
那么你GridView1已经不是原来的GridView1了,
你所操作的控件也就无从谈起,GridView1都重新绑定了里面的控件肯定也换过了 不是原来的了 所以不可能找到到他。
只有if (!IsPostBack)后GridView1不会重新绑定值的情况下
才可以定位你所操作的控件。
如果不加的话GridView1重新绑定值,
那么你GridView1已经不是原来的GridView1了,
你所操作的控件也就无从谈起,GridView1都重新绑定了里面的控件肯定也换过了 不是原来的了 所以不可能找到到他。
只有if (!IsPostBack)后GridView1不会重新绑定值的情况下
才可以定位你所操作的控件。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
是啊, 页面你触发事件他会自动回发,就是自动回传。 !ispostback 就是不是初始加载的时候执行,你能听懂吗?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
!IsPostBack合起来的意思 是 如果是"第一次访问",那么。。。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
回传机制问题
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
恩 是的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询