首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带有RazorGenerator预编译视图的视图基类

带有RazorGenerator预编译视图的视图基类
EN

Stack Overflow用户
提问于 2015-07-07 09:27:04
回答 2查看 923关注 0票数 1

我有一个控制台项目,其中有些.cshtml文件存储在Resources文件夹中,该文件夹内置到带有Razorgenerator.MsBuild nuget包的.cs文件中。

我需要为生成的视图替换WebViewPage视图基类,但是使用pageBaseType="ConsoleApp.MyViewBase"选项集添加web.config文件或以不同方式更改文件位置对我没有帮助,也没有找到任何其他方法。

视图类总是以以下方式生成:

代码语言:javascript
复制
public partial class _Resources_Index_cshtml : 
         System.Web.Mvc.WebViewPage<ConsoleApp.ModelClass> { ... }

希望,有一些方法可以为所有视图全局显示类,而无需在每个.cshtml文件的开头添加指令。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-12-07 09:23:52

看起来,web.config中的基本设置视图在最新的RazorGenerator中工作。

因此,更新您的RazorGenerator包,并尝试在web.config中使用类似的内容

代码语言:javascript
复制
<configSections>    
  <sectionGroup name="system.web.webPages.razor" type="System.Web.WebPages.Razor.Configuration.RazorWebSectionGroup, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
    <section name="host" type="System.Web.WebPages.Razor.Configuration.HostSection, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
    <section name="pages" type="System.Web.WebPages.Razor.Configuration.RazorPagesSection, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
  </sectionGroup>
</configSections>

<system.web.webPages.razor>
  <host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=5.2.3.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
  <pages pageBaseType="WebApplication2.Views.BaseView2">
    <namespaces>
      <add namespace="System.Web.Mvc" />
      <add namespace="System.Web.Mvc.Ajax" />
      <add namespace="System.Web.Mvc.Html" />
      <add namespace="System.Web.Optimization"/>
      <add namespace="System.Web.Routing" />        
    </namespaces>
  </pages>
</system.web.webPages.razor>

在我的例子中,我将预编译(带有RazorGenerator.Mvc和RazorGenerator.MsBuild包)添加到旧项目中,但它没有工作。问题是,我的configSections项目中有configSections,必须将其更改为Version=3.0.0.0

票数 1
EN

Stack Overflow用户

发布于 2015-07-09 12:49:36

如果有人发现它有帮助,有一个nuget包装这是由我。它是相同的Razorgenerator.MsBuild,但是用Custom.System.Web.Mvc.WebViewPage代替System.Web.Mvc.WebViewPage。因此,如果要使用自定义WebViewPage,请安装包并在命名空间Custom.System.Web.Mvc中添加名为WebViewPage的类。比如:

代码语言:javascript
复制
namespace Custom.System.Web.Mvc
{
    public abstract class WebViewPage<T>
    {
    ...
    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31264723

复制
相关文章

相似问题

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