如果页面包含源中的Viewstate。这是否意味着网页使用的是ASP.NET WebForms,或者这也可能是一个MVC项目?
谢谢!
答案 0 :(得分:1)
来源:ASP.NET MVC and Web Forms Integration
IIS需要能够确定给定的请求是否是一个 ASP.NET MVC或Web窗体请求。一旦它能搞清楚,IIS 可以将请求发送到适当的处理程序和应用程序 表现得像你期望的那样。
从那篇好文章中查看这些内容。
注意
注意ViewState!虽然ASP.NET Framework的很多部分 可以通过Web窗体和ASP.NET MVC访问,这是最重要的 ASP.NET MVC中不支持的Web窗体框架 完全是ViewState。大多数情况下,ViewState用于Web窗体 页面与自身进行通信,因此遇到了机会 在Web窗体页面和。之间交叉发布时ViewState问题 ASP.NET MVC控制器很小。
但是,在将Web窗体应用程序转换为ASP.NET MVC时, 请注意Web窗体应用程序中的任何代码 期望ViewState - 期间ViewState数据不存在 ASP.NET MVC请求的过程因此依赖于它的代码 可能会破裂!
答案 1 :(得分:0)
MVC中没有ViewState。因此,如果您找到ViewState
元素,则可以非常肯定它是一个ASP.NET WebForms页面。
虽然,因为ViewState只是一个名为/ id“__VIEWSTATE”的常规隐藏输入元素,所以有人添加了一个具有该名称和id的非元素(在非ASP.NET页面中) :
<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE"
value="contents go here" />