怪哉,为什么我的ViewState变量值不能保持了?!
请看下面的简单示例代码.前一天还好好的,睡了一觉,ViewState["RecentPathFile"]的值不能保持了。
<%@ Page Language="C#" Debug="true" %>
<SCRIPT language="C#" runat="server">
void Page_Load(Object Src, EventArgs E ) {
}
public void OnSave(Object Src,EventArgs Args){
Response.Write("Saving_");
Response.Write(ViewState["RecentPathFile"]);
Response.Write("_Saved.");
return;
}
</script>
<HTML><HEAD><TITLE>Item View/Edit</TITLE>
<META HTTP-EQUIV="content-type" CONTENT="text/html; charset=gb2312">
</HEAD>
<BODY>
<%
ViewState["RecentPathFile"]="Windows";
%>
<form runat="server" style=margin:0;>
<div align=center>
<asp:LinkButton Text="Save" runat="server" OnClick="OnSave"/>
<font color=red>|</font><a href="javascript:location.href=location.href">Refresh</a>
</div>
</form>
</BODY></HTML>
有朋友提出来说,应该把:
ViewState["RecentPathFile"]="Windows";
这一行放到public void OnSave(Object Src,EventArgs Args)里,试试一下倒是可以(我其实不是很满意这种解法)。那又一个问题就来了,作为事件处理程序的OnSave,是怎么和事件对象传递变量的呢?想来应该是通过EventArgs Args了吧,能否告知具体是如何实现的呢?
这后一个问题估计应该能从现有的教材中找到,我且找找看吧。