private int nValue
{
get
{
if(ViewState["nValue"]!=null)
return (int)ViewState["nValue"];
else
return 0;
}
set
{
ViewState["nValue"] = value;
}
}
{
get
{
if(ViewState["nValue"]!=null)
return (int)ViewState["nValue"];
else
return 0;
}
set
{
ViewState["nValue"] = value;
}
}
解决方案 »
- 菜鸟求助
- just for fun
- 应用程序登陆提示密码错误,重启服务器IIS就好了??为什么啊?
- 马上结贴:求一高效存储过程统计返回记录数
- 读XML文件时出错,System.Xml.XmlException: 给定编码中的字符无效,这个由于编码问题,改成<?xml version="1.0" encoding="ISO-8859-1"?>
- 如何取消TreeView父节点的链接
- Access能象SQL一样支持存储过程吗?
- 谁遇到过这样的问题?IIS起不来了,删除重装后,aspx文件不能被解析了,重装.NET后,IIS又起不来了?解决问题另给100分!
- 请教技术专家,从水晶报表导数据至其他格式文件(例如:EXCEL)出现错误:Logon failed
- 为什么只能调试asp.net程序一次,送100分
- datagrid的显示的问题
- 这一部分的javascript的语句怎末写呀
protected override void OnPreRender(System.EventArgs e)
{
ViewState["nValue"]=id;
}
<script language="C#" runat="server">
void Page_Init(Object o, EventArgs e)
{
Response.Write("In Page_Init: ViewState is "+ (ViewState["abc"] == null? "emtpy":ViewState["abc"].ToString()) + "<BR>");
Response.Write("In Page_Init: PostBack?" + Page.IsPostBack.ToString() + "<BR>");
ViewState["abc"] = DateTime.Now.ToString(); Response.Write("In Page_Init:"+ ViewState["abc"].ToString() + "<BR>");
}void Page_Load(Object o, EventArgs e)
{
if (!IsPostBack)
ViewState["abc"] = DateTime.Now.ToString();
Response.Write("In Page_Load:"+ ViewState["abc"].ToString() + "<BR>");
}
</script>
<form runat="server">
<asp:Button runat="server" Text="Refresh"/>
</form>
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnaspp/html/viewstate.aspViewState: All You Wanted to Know
http://authors.aspalliance.com/PaulWilson/Articles/?id=7Page Events: Order and PostBack
http://authors.aspalliance.com/PaulWilson/Articles/?id=6
我想你没有看清楚我得程序
我是在Page_Init()用!Page.IsPostBack来初始化ViewState得,
我就是想在PostBack得时候能够LoadViewState把Request时候初始值load回来
而实际上不行,它会说该ViewState未空引用,
而我在Page_Load得时候用!Page.IsPostBack就可以打印出初始值,
但postback时这个值不见了。而如果我在Page_Load里面初始化则可以
所以我想问得是为什么在Init事件里面不能对ViewState初始化,
注意是初始化(使用!Page.IsPostBack来进行),
那么我想在Request得时候应该不会调用LoadViewState把,因为还没执行过SaveViewState
那么我认为在Request(!Page.IsPostBack)得时候,在哪里对ViewState进行初始化都是一样,
只要保证在执行SaveViewState之前。 这是我的理解,不知道正确否,还是微软对ViewState得初始化有规定,
而它得规定是什么原因?我想我上面得理解没什么不合理得地方 其实我是知道在Init事件里面初始化不行,但是我想知道为什么??
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnaspp/html/viewstate.asp
你可以在任何时候给ViewState赋值,但只有在调用TrackViewState()之后的改变才会在SaveViewState时写入__VIEWSTATE从上面这篇文章,The TrackViewState() method is called at the end of the initialization stage,
which happens after the instantiation stage.
首先很感谢;
不过我还有个问题:
对于页面的ViewState确实如此,但是为什么对于页面控件的ViewState却可以在Init里面进行初始化呢for example
these codes work well
///////////////////////////////
protected System.Web.UI.WebControls.DropDownList ddlPrice;
private void Page_Init()
{
if(!Page.IsPostBack)
{
ddlPrice.Items.Add("无价之宝");
ddlPrice.Items.Add("价值连城");
}
}
对于dllPrice的Items确实是用ViewState保存了下来
为什么?
首先很感谢;
不过我还有个问题:
对于页面的ViewState确实如此,但是为什么对于页面控件的ViewState却可以在Init里面进行初始化呢for example
these codes work well
///////////////////////////////
protected System.Web.UI.WebControls.DropDownList ddlPrice;
private void Page_Init()
{
if(!Page.IsPostBack)
{
ddlPrice.Items.Add("无价之宝");
ddlPrice.Items.Add("价值连城");
}
}
对于dllPrice的Items确实是用ViewState保存了下来
为什么?
that's simple and clearly. why define to call trackviewstate() after init event?