如何在每次s_Sort不更新SortDirection.Desc时执行此操作
private SortDirection s_Sort = SortDirection.Desc;
protected void Page_Load(object sender, EventArgs e)
{
lblSort.Text = S_Sort.ToString();//every time == SortDirection.Desc - this is bad!
if (!IsPostBack)
{
ShowTree();
Validate();
}
}需求
public void btnSortUp_Click(object sender, EventArgs e)
{
S_Sort = SortDirection.Asc;
}
public void btnSortDown_Click(object sender, EventArgs e)
{
S_Sort = SortDirection.Desc;
}但在SortDirection.Desc变坏之后
发布于 2011-04-01 15:15:15
这是ASP.NET生命周期的一个问题。每次回发发生时(例如,当单击btnSortUp或btnSortDown时),都会创建页面的一个新实例,即S_Sort被重新初始化为Desc。如果要在回发之间持久化值,可以将其存储在视图状态中,例如,通过将其封装在私有属性中:
private SortDirection S_Sort {
get { return (SortDirection)(ViewState["S_Sort"] ?? SortDirection.Desc); }
set { ViewState["S_Sort"] = value; }
}https://stackoverflow.com/questions/5507436
复制相似问题