RazorEngine ( razorengine.codeplex.com ) を使用しています。
cshtml テンプレートから「アクション」を呼び出すにはどうすればよいですか? RazorEngine は MVC から切り離されており、これを WPF ソリューションから実行しているため、MVC の意味での実際のアクションではないため、「アクション」を引用します。基本的に私が必要とするのは次のようなものです: (以下はアイデアを説明するための厳密な疑似コードであることに注意してください)
<!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;
}
}
これは可能ですか?もしそうなら、私は何をする必要がありますか?