Asp.net 如何从程序集呈现Razor页面
更新1 我添加了RazorGenerator等 在设置了自定义工具之后,我看到了为我的razor页面生成的代码 在程序集中添加了此代码Asp.net 如何从程序集呈现Razor页面,asp.net,razor,.net-assembly,Asp.net,Razor,.net Assembly,更新1 我添加了RazorGenerator等 在设置了自定义工具之后,我看到了为我的razor页面生成的代码 在程序集中添加了此代码 public class MyAreaRegistration : AreaRegistration { public override void RegisterArea(AreaRegistrationContext context) { context.MapRoute("Dictionary_default", "MyD
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中使用
我在另一个具有razor页面的程序集中使用一个控制器(基本控制器) 在我的项目中,我从基本控制器继承了控制器,只是它做了一些设置。但我希望使用汇编中的剃须刀页面
我该怎么办呢?你可以用分机。我已经详细说明了如何在未来几年实现这一目标。其思想是,RazorGenerator扩展将为每个Razor视图创建一个相应的
.cs
文件,并在每次更改相应视图时对其进行更新。这样,Razor视图将在类库中与其各自的控制器和视图模型一起预编译。然后RazorGenerator.Mvc NuGet将注册一个自定义虚拟路径提供程序,该程序将负责解析这些视图。谢谢您的回答。我试着通过你的链接来做,但是我有一些问题。请参阅更新1我已找到解决问题的方法。我只是删除代码MyAreaRegistration。不幸的是,在这种情况下,我没有相同名称的控制器。