Gho*_*ngi 2 razor asp.net-mvc-3
我有两个叫做"a"和"b"的动作.我也有两种观点.这些观点的布局是不同的.为一个:
@{
Layout = "~/Views/Shared/_X.cshtml";
}
Run Code Online (Sandbox Code Playgroud)
对于b:
@{
Layout = "~/Views/Shared/_Y.cshtml";
}
Run Code Online (Sandbox Code Playgroud)
错误视图也是共享的.
如何为Error视图使用动态布局.例如,当处理动作"a"时发生错误时,错误显示在动作"a"的布局中,如果在处理动作"b"时发生错误,则错误显示在动作"b"的布局中?
你可以编写一个帮助方法:
public static string GetLayout(this HtmlHelper htmlHelper)
{
var action = htmlHelper.ViewContext.RouteData.GetRequiredString("action");
if (string.Equals("a", action, StringComparison.OrdinalIgnoreCase))
{
return "~/Views/Shared/_X.cshtml";
}
else if (string.Equals("b", action, StringComparison.OrdinalIgnoreCase))
{
return "~/Views/Shared/_Y.cshtml";
}
return "~/Views/Shared/_Layout.cshtml";
}
Run Code Online (Sandbox Code Playgroud)
然后:
@{
Layout = Html.GetLayout();
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2446 次 |
| 最近记录: |