Asp.net mvc 如何检测asp.net webforms页面?

Asp.net mvc 如何检测asp.net webforms页面?,asp.net-mvc,webforms,Asp.net Mvc,Webforms,如果页面在源中包含Viewstate。这是否意味着该网页正在使用ASP.NET WebForms,或者这可能也是一个MVC项目 谢谢 MVC中没有ViewState。因此,如果您找到一个ViewState元素,您可以非常确定它是一个ASP.NETWebForms页面 虽然,由于ViewState只是一个名为/id“\uuu ViewState”的常规隐藏输入元素,但有人(在非ASP.NET页面中)添加了一个名为/id为“\uuu ViewState”的元素: <input type="hi

如果页面在源中包含Viewstate。这是否意味着该网页正在使用ASP.NET WebForms,或者这可能也是一个MVC项目


谢谢

MVC中没有ViewState。因此,如果您找到一个
ViewState
元素,您可以非常确定它是一个ASP.NETWebForms页面

虽然,由于ViewState只是一个名为/id“\uuu ViewState”的常规隐藏输入元素,但有人(在非ASP.NET页面中)添加了一个名为/id为“\uuu ViewState”的元素:

<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE"
  value="contents go here" />

来源:

IIS需要能够确定给定的请求是否为 ASP.NET MVC或Web窗体请求。一旦它能找到答案,IIS 可以将请求发送给相应的处理程序和应用程序 表现得和你期望的一样

检查一下那篇好文章中的这些行

谨慎

小心ViewState!尽管ASP.NET框架的许多部分 可通过Web窗体和ASP.NET MVC(最重要的 ASP.NET MVC不支持的Web窗体框架的一部分 根本就是视图状态。大多数情况下,ViewState用于Web窗体 页面与自身进行沟通,因此有机会遇到 在Web表单和网页之间交叉发布时的ViewState问题 ASP.NET MVC控制器很薄

但是,在将Web窗体应用程序转换为ASP.NET MVC时, 注意Web窗体应用程序中的任何代码 需要ViewState — 视图状态数据在运行期间将不存在 ASP.NET MVC请求的过程,因此依赖于它的代码将 很可能会破裂


我不认为MVC使用viewstate…好吧,如果我找到这样的元素,我可以说99%是WebForms应用程序,对吗?我只是在测试,我仍然不知道MVC或WebForsms是否最适合我。目前我认为WebForms很容易使用EntityFramework和数据库映射,但我不确定。。。这就是为什么我要环顾一些大型网站,了解它们在使用什么。我认为无论是MVC还是WebForms,使用EntityFramework都不容易。但是MVC和WebForms使用的编程模型完全不同。顺便说一句:也可以使用没有(或最小)ViewState的WebForms