我们正在寻找使用url等构建mvc4网站,例如
其中每个都指的是一个完全不同的网站/页面
现在菜单项 - home / about / contact / ...等也与用户定义的文本和链接不同
并且〜/ Views / Shared / _Layout.cshtml中的以下代码将从
更改 <ul id="menu">
<li>@Html.ActionLink("Home", "Index", "Home")</li>
<li>@Html.ActionLink("About", "About", "Home")</li>
<li>@Html.ActionLink("Contact", "Contact", "Home")</li>
</ul>
会改为
<ul id="menu">
@foreach( var nav_config in dbHelper.getConfig(HttpContext.Current))
<li>@Html.ActionLink(nav_config.Text, "MyAction", "MyController")</li>
</ul>
想知道是否有更简单的方法从视图中引用{SiteName},这是baseController的属性,如下面链接中所定义
或从配置db获取菜单的更好方法?
使用有问题的答案实施{SiteName} - Passing a {sitename} parameter to MVC controller actions
答案 0 :(得分:0)
严格来说,观点不应该关心它的作用。您的参数是基本模型属性的主要候选者。
让所有模型实现以下基类:
public abstract class ModelBase
{
public string SiteName { get; set; }
}
然后更改布局以使用模型ModelBase
。
然后用任何你想要的和任何你想要的东西填充它。