首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从ASP.Net MVC视图生成的编译WebViewPage派生类与部分视图有什么不同?

从ASP.Net MVC视图生成的编译WebViewPage派生类与部分视图有什么不同?
EN

Stack Overflow用户
提问于 2013-02-22 03:04:21
回答 1查看 1K关注 0票数 0

我了解到,在ASP.Net MVC中,剃刀视图被编译成从System.Web.Mvc.WebViewPage类或其泛型版本派生出来的C#类。例如,如果我在控制器调用"Home“上有一个名为"Index”的视图,则剃刀解析器将构建一个类似于以下内容的C#类:

代码语言:javascript
复制
public class _Page_Views_Home_Index_cshtml : System.Web.Mvc.WebViewPage
{
    public  _Page_Views_Home_Index_cshtml() 
    {  }

    public override void Execute() 
    {
        ...code that combines the razor C# code with the markup
    }
}

我想知道从剃须刀部分视图生成的C#类。特别是:

  1. 从部分视图生成的C#类是否也继承了WebViewPage?
  2. 视图和部分视图在生成的C#类中有什么不同吗?
  3. 您能通过检查生成的C#类来判断它是从视图还是从部分视图生成的吗?
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-02-22 05:27:48

使用ASP.NET、MVC和Razor,生成的“完整”视图和“部分”视图的代码没有任何区别。事实上,在MVC的Razor视图引擎中(或者在带有Razor的ASP.NET网页中)甚至不存在这样的概念。

唯一的小区别(在MVC中不存在)是,在ASP.NET网页中,一个以下划线开头的文件是不可直接服务的。例如,像~/page.cshtml这样的文件不能由web请求直接运行,而像~/page.cshtml这样的文件则是。但是即使在编译的代码中也没有区别--在ASP.NET网页的路由系统中,它拒绝提供以下划线开头的文件。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15016141

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档