Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 有没有快速的方法来确定ASP.NET控件属性是否由viewstate或普通字段支持?_C#_.net_Asp.net_Viewstate - Fatal编程技术网

C# 有没有快速的方法来确定ASP.NET控件属性是否由viewstate或普通字段支持?

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实际上

在我所有的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实际上不存在的约定是否更好,因为如果不研究大型业务线应用程序中可能需要设置的所有1000个属性,您就不知道它是否存在?

这似乎更像是一个设计问题—何时使用viewstate。由于您有源代码,显然知道哪些控件使用ViewState,因此不需要猜测或发现

IsPostback是确定GET或POST的常用方法。您还可以检查Request.HttpMethod。为了决定何时使用ViewState,页面是否会在其任务完成之前回发(即根据用户操作更新某些控件)?如果您将Postbck,并且填充所有字段的成本太高,则使用ViewState。或者使用Ajax调用来避免仅仅更新内容的回发


记住,回发时不需要ViewState来读取值。控件在表单集合中传递。

Hmm,我没有选择使用viewstate。我使用的所有第三方控件可能有,也可能没有,但这让我想到尝试创建一个方法来迭代控件viewstate集合以查看其中的内容。