我正在尝试让一个下拉列表在ViewState中设置一个临时变量:ViewState["TempProductVariantId"]
。一旦设置并重新加载页面,我想在函数内部使用该变量。该函数完成后,ViewState["TempProductVariantId"]
设置为0.我的问题是我需要知道默认函数在控件中加载的顺序。 IE浏览器。 Page_Load, OnPreRender, SelectedIndexChange, etc...
DropDownList SelectedIndexChange
protected void ArtistArtwork_SelectedIndexChange(object sender, EventArgs e)
{
DropDownList ddl = sender as DropDownList;
TempProductVariantId = int.Parse(ddl.SelectedValue);
}
页面加载
protected void Page_Load(object sender, EventArgs e)
{
CreateAttributeControls();
TempProductVariantId = 0;
}
这个问题是我每次都在DropDownList上更改选定的索引时工作。
所以我想再设置它,使用它,丢弃它。任何提示将不胜感激。
答案 0 :(得分:2)
您需要查看ASP.NET Page Life Cycle Overview。具体来看控制事件。尽管如此,要回答您的具体示例,ArtistArtwork_SelectedIndexChange正在Page_Load之后运行。
答案 1 :(得分:1)
可以在此处找到asp.net页面生命周期概述:http://msdn.microsoft.com/en-us/library/ms178472.aspx但基本上是其Page_init - >已加载Viewstate - > Page_Load - >事件火 - > Page_PreRender - > ViewState已保存 - > Page_Render。您可以使用的另一个技巧是仅通过检查Page.IsPostBack(在页面的后续加载时为true)初始化初始加载时的状态变量
希望这有帮助。