使用ViewState如何传值
比如说有两个页面one.aspx各two.aspx,如何在one页面给ViewState赋值在two页面取出ViewState的值呢?
在提一个问题:
页面传值
ession(viewstate)简单,但易丢失
application 全局
cookie 简单,但可能不支持,可能被伪造
input type="hidden" 简单,可能被伪造
url参数简单,显示于地址栏,长度有限
数据库稳定,安全,但性能相对弱
貌似都不好那我该使用哪个呢?
------解决方案--------------------就通过url参数啊,最方便了
------解决方案--------------------ViewStat是基于客户端的状态管理
页面传值可以考虑Session
如果不想Session
Post...
------解决方案--------------------viewstate只是页面级的。。。
还是用URL传值比较好。。。
------解决方案--------------------ViewState跨不了页面吧
//利用PostBackUrl属性和page的PreviousPage属性结合实现页面间传数据
//当前页
<asp:Button ID="Button1" runat="server" Text="Button"
PostBackUrl="~/Default3.aspx" CommandArgument="需要传递到数据" />
//设置PostBackUrl属性,可以把要传递的数据付给
Default3.aspx页中
Button btn = this.PreviousPage.FindControl("Button1") as Button;
Response.Write(btn.CommandArgument);//输出需要传递到数据
或者url传递,
------解决方案--------------------最好用Session,要不然用缓存也可以,viewstate是间页面传值的,你用不了
------解决方案--------------------ViewData不行的...
用session吧,cookie不保险
------解决方案--------------------ViewState是页面的临时值,不能进行两个页面的传值。
如果进行两个页面跳转的传值可以用参数,或者session或者用HiddenField隐藏域
------解决方案--------------------为什么要把viewstate传给其他的页面?
------解决方案--------------------参考,使用PostBackUrl和PreviousPage,但不用FindControl:http://www.cnblogs.com/insus/articles/2050832.html