C# 有没有快速的方法来确定ASP.NET控件属性是否由viewstate或普通字段支持?
在我所有的Page_Load()事件中,我必须执行C# 有没有快速的方法来确定ASP.NET控件属性是否由viewstate或普通字段支持?,c#,.net,asp.net,viewstate,C#,.net,Asp.net,Viewstate,在我所有的Page_Load()事件中,我必须执行 if(!IsPostBack) { //code runs on initial get //Set properties backed by viewstate } else { //Code runs on each get and post //Set properties backed by ordinary fields } 有没有什么快速的方法来确定反射器的不足、阅读文档或创建测试页面 采用viewstate实际上
if(!IsPostBack)
{
//code runs on initial get
//Set properties backed by viewstate
}
else
{
//Code runs on each get and post
//Set properties backed by ordinary fields
}
有没有什么快速的方法来确定反射器的不足、阅读文档或创建测试页面
采用viewstate实际上不存在的约定是否更好,因为如果不研究大型业务线应用程序中可能需要设置的所有1000个属性,您就不知道它是否存在?这似乎更像是一个设计问题—何时使用viewstate。由于您有源代码,显然知道哪些控件使用ViewState,因此不需要猜测或发现 IsPostback是确定GET或POST的常用方法。您还可以检查Request.HttpMethod。为了决定何时使用ViewState,页面是否会在其任务完成之前回发(即根据用户操作更新某些控件)?如果您将Postbck,并且填充所有字段的成本太高,则使用ViewState。或者使用Ajax调用来避免仅仅更新内容的回发
记住,回发时不需要ViewState来读取值。控件在表单集合中传递。Hmm,我没有选择使用viewstate。我使用的所有第三方控件可能有,也可能没有,但这让我想到尝试创建一个方法来迭代控件viewstate集合以查看其中的内容。