我正在使用 RazorEngine ( razorengine.codeplex.com )。
我怎样才能让它从我的 cshtml 模板中调用“操作”?我引用“Action”是因为它实际上并不是 MVC 意义上的 Action,因为 RazorEngine 与 MVC 分离,我正在从 WPF 解决方案中运行它。基本上我需要的是以下内容:(请注意以下是严格的伪代码,旨在说明一个想法)
<!DOCTYPE html>
<html>
<head></head>
<body>
<!-- something similar to the following so that I can
include partial views where needed. -->
@Html.Action("Method1")
@Html.Action("Method2")
<!-- or -->
@Html.Action("RazorTemplate1.cshtml")
@Html.Action("RazorTemplate2.cshtml")
<!-- or -->
@MyTemplateFunctionality.Method1()
@MyTemplateFunctionality.Method2()
</body>
</html>
定义方法的地方,例如
public static class MyTemplateFunctionality
{
public static string Method1(string templateName)
{
// execute functionality to render HTML output for Method1
string htmlOutput = RazorEngine.Razor.Parse(templateName, new { ObjModelForMethod1 }); ;
return htmlOutput;
}
public static string Method2(string templateName)
{
// execute functionality to render HTML output for Method2
string htmlOutput = RazorEngine.Razor.Parse(templateName, new { ObjModelForMethod2 }); ;
return htmlOutput;
}
}
这可能吗?如果是这样,我需要做什么?