繁体   English   中英

C#控件功能加载顺序

[英]C# Control Function Load order

我试图在下拉列表中在ViewState中设置一个临时变量: ViewState["TempProductVariantId"] 设置好并重新加载页面后,我想在函数中使用该变量。 该函数完成后,将ViewState["TempProductVariantId"]设置为0。我的问题是我需要知道默认函数在控件中加载的顺序。 就是 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上的选定索引时,它实际上就可以工作。

所以我还是要设置,使用,丢弃它。 任何提示将不胜感激。

您需要查看ASP.NET页面生命周期概述 具体看一下控制事件。 不过,为了回答您的特定示例,在Page_Load之后运行ArtistArtwork_SelectedIndexChange。

可以在以下位置找到asp.net页面生命周期概述: http : //msdn.microsoft.com/zh-cn/library/ms178472.aspx,但基本上是Page_init-> Viewstate load-> Page_Load-> Events Fire-> Page_PreRender- >已保存ViewState-> Page_Render。 您可以使用的另一个技巧是仅在初始加载时通过检查Page.IsPostBack来初始化状态变量(在页面的后续加载中为true)

希望这可以帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM