实现只写Razor _Layout +一个const字符串体的ActionResult

时间:2015-05-20 21:10:19

标签: c# asp.net-mvc razor actionresult

我正在用jspm编写一个ReactJs应用程序,我的很多观点最终看起来像这样

<script>System.import('customers')</script>

<script>System.import('invoicing')</script>

所以发送到浏览器的是_Layout.cshtml(由_ViewStart.cshtml`定义)和那个简单的主体。

由于此处几乎没有差异,我不想完全创建视图文件(此外还有其他原因)。我希望能够做到

return new LoadJsModuleResult('customers');

return new LoadJsModuleResult('invoicing');

我将如何撰写LoadJsModuleResult

我正在查看ViewResultViewEngineResult的来源,但似乎此时所有内容都已经与ViewEngineCollection中某处发生的程序集合在一起。我可以跟踪BuildManagerWrapper.GetCompiledType,但随后我们进入System.Web的深度。

有没有人有任何提示?

  • 我注意到方便不是唯一我想要这样做的原因,我还制作了一个模块系统,这对我来说效果特别好。

1 个答案:

答案 0 :(得分:1)

您可以在包含

的共享中查看LoadJSModule.cshtml视图
@model string
<script>System.import('@Model')</script>

然后在你的控制器中返回View("LoadJSModule", "modulename")

您可以在Controller子类中拥有一个方法,所有控制器都从

继承
public ViewResult LoadJSModule(string modulename) {
   return View("LoadJSModule", modulename);
}

所以你可以返回LoadJSModule("mymodule")