【问题标题】:How can I render Razor page from Assembly如何从 Assembly 呈现 Razor 页面
【发布时间】:2013-05-18 08:08:33
【问题描述】:

更新1

我已经添加了 RazorGenerator 等...

设置自定义工具后,我看到了为我的剃须刀页面生成的代码。

在程序集中添加此代码

public class MyAreaRegistration : AreaRegistration
{

    public override void RegisterArea(AreaRegistrationContext context)
    {
        context.MapRoute("Dictionary_default", "MyDictionary/{Action}/", new { controller = "DictionaryControllerBase", action = "Index" });
    }

    public override string AreaName
    {
        get { return "MyDictionary"; }
    }

    #endregion
}

但是当我通过 url /MyDictionary 打开页面时,我看到“无法找到资源”。

注意我在我的项目 MVC3 和 Spring.Net 中使用


我在另一个带有剃须刀页面的程序集中使用一个控制器(基本控制器)。

在我的项目中,我使控制器继承自基本控制器,只是进行了一些设置。但是我希望从程序集中使用剃须刀页面。

我该怎么做?

【问题讨论】:

  • 我找到了解决问题的方法。我只是删除代码 MyAreaRegistration。不幸的是,这种情况下我没有同名的控制器。

标签: asp.net razor .net-assembly


【解决方案1】:

您可以使用RazorGenerator 扩展名。我在following post 中详细介绍了如何实现这一点。这个想法是 RazorGenerator 扩展将为每个 Razor 视图创建一个相应的.cs 文件,并且每次您对相应的视图进行更改时它都会更新它。这样,Razor 视图将与它们各自的控制器和视图模型一起在类库中进行预编译。然后,RazorGenerator.Mvc NuGet 将注册一个自定义虚拟路径提供程序,该提供程序将负责解析这些视图。

【讨论】:

  • 感谢您的回答。我试图通过你的链接做,但我有一些问题。见更新 1
猜你喜欢
  • 2022-01-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-12-03
  • 2011-12-07
  • 1970-01-01
相关资源
最近更新 更多