我的页面中有文本框和按钮控件。对于文本框我启用了视图状态,页面加载事件我设置文本框值“Hello Mr!”。现在我想将文本框的视图状态值更改为“Hello Mr Pradeep!”,当回发发生时,我该怎么做?我可以在其中完成所有页面事件。
<asp:TextBox ID="TextBox1" runat="server" EnableViewState= "true"/>
<br />
<br />
<asp:Button ID="Button1" runat="server" Text="Button" />
protected void Page_Load(object sender, EventArgs e)
{
TextBox1.Text = "Hello Mr!";
}
谢谢,
与Pradeep
答案 0 :(得分:0)
据我了解你的问题,你可以使用页面加载事件上的javascript来做到这一点
答案 1 :(得分:0)
您的页面正在检索页面初始化和页面加载事件之前的viewstate。因此,您可以更早地尝试更改视图状态是在页面加载中。 因为如果您在检索之前修改它,您的更改将会丢失。
protected override void OnInit(EventArgs e)
{
if (IsPostBack)
{
//on postback ViewSate["test"] is null
ViewState["test"] = "Valuepostback";
//Now ViewSate["test"] is Valuepostback
}
base.OnInit(e);
}
protected override void OnLoad(EventArgs e)
{
if (IsPostBack)
{
//on postback ViewState has been reloaded from the page sent and therefore the initial value set in the oninit does not exists anymore
//ViewState["test"] is MyValue
//if you want to cahnge specifically the view state do it here
}
if (!IsPostBack)
ViewState["test"] = "MyValue";
base.OnLoad(e);
}