Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/269.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/15.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 MVC如何从应用程序中删除ViewState?_C#_Asp.net Mvc_Viewstate - Fatal编程技术网

C# ASP.NET MVC如何从应用程序中删除ViewState?

C# ASP.NET MVC如何从应用程序中删除ViewState?,c#,asp.net-mvc,viewstate,C#,Asp.net Mvc,Viewstate,我在ASP.NET MVC源代码中查找,未找到从应用程序中删除ViewState的位置 ViewState不仅被禁用,还从应用程序中的所有页面中删除 谢谢 更新: 是否可以删除Viewstate隐藏字段?这很容易;它没有被移除。您仍然可以设置和读取ViewState。只是不要期望它包含来自上一个请求的任何内容。这实际上很方便,因为这意味着某些在ViewState中存储属性值的ASP.NET服务器控件可以在ASP.NET MVC中工作。只要将ViewState从一个请求保存到另一个请求并不重要,这

我在ASP.NET MVC源代码中查找,未找到从应用程序中删除ViewState的位置

ViewState不仅被禁用,还从应用程序中的所有页面中删除

谢谢

更新:


是否可以删除Viewstate隐藏字段?

这很容易;它没有被移除。您仍然可以设置和读取ViewState。只是不要期望它包含来自上一个请求的任何内容。这实际上很方便,因为这意味着某些在ViewState中存储属性值的ASP.NET服务器控件可以在ASP.NET MVC中工作。只要将ViewState从一个请求保存到另一个请求并不重要,这些控件仍然可以正常工作


当然,从一个请求到另一个请求删除ViewState的持久性会使它几乎毫无用处。这就是为什么人们通常说ASP.NET MVC没有ViewState。这在技术上并不准确;ViewState实际上是存在的;它并不是以一种对任何事情都有用的形式存在的。

这很容易;它没有被移除。您仍然可以设置和读取ViewState。只是不要期望它包含来自上一个请求的任何内容。这实际上很方便,因为这意味着某些在ViewState中存储属性值的ASP.NET服务器控件可以在ASP.NET MVC中工作。只要将ViewState从一个请求保存到另一个请求并不重要,这些控件仍然可以正常工作


当然,从一个请求到另一个请求删除ViewState的持久性会使它几乎毫无用处。这就是为什么人们通常说ASP.NET MVC没有ViewState。这在技术上并不准确;ViewState实际上是存在的;它只是不以任何有用的形式存在。

MVC不使用viewstate——它是完全无状态的,就像web应该的那样


您可能需要稍微改变一下心态,考虑一下您的应用程序在请求-响应模式下运行,而标准asp.net使用viewstate试图欺骗开发人员(如果您愿意的话)让他们思考,或者像页面有状态一样进行编码。

MVC不使用viewstate——它是完全无状态的,就像web应该的那样


你可能需要稍微改变你的思维方式,考虑一下你的应用程序在一种请求-响应模式下运行,而这种模式一直存在,但是标准asp.net使用viewstate试图欺骗开发人员(如果你愿意的话),让他们像页面有状态一样思考或编码。

viewstate不是asp.net MVC页面生命周期的一部分。ViewState仅在ASP.NET WebForms应用程序中可用


这也意味着您无法使用大多数依赖ViewState的ASP.NET WebForms控件。ViewState不属于ASP.NET MVC页面生命周期的一部分。ViewState仅在ASP.NET WebForms应用程序中可用


这也意味着您无法使用大多数依赖ViewState的ASP.NET WebForms控件

我知道ViewState永远不会被删除。响应我的更新:在普通ASP.NET回发中不可能删除ViewState隐藏的输入,要在HTML页面中隐藏它,只需在表单中删除runat=server即可。谢谢ASP.NET MVC永远不会将ViewState字段放入页面中。然而,WebForms设计器会在MVC页面上添加此字段,这是不将其用于MVC视图的许多好理由之一。删除这个隐藏的输入是完全安全的。我知道ViewState永远不会被删除。响应我的更新:在普通ASP.NET回发中不可能删除ViewState隐藏的输入,要在HTML页面中隐藏它,只需在表单中删除runat=server即可。谢谢ASP.NET MVC永远不会将ViewState字段放入页面中。然而,WebForms设计器会在MVC页面上添加此字段,这是不将其用于MVC视图的许多好理由之一。删除此隐藏输入是完全安全的。