所以现在,如果我想更改我在基于关闭配置的页面上显示的部分视图,请执行以下操作:
配置项目:
<add key="InstanceOwner" value="companyName" />
调用渲染部分视图:
<div id="" class="sidebarBox side-box3">
Html.RenderAction("ProductFeature", "Dashboard");
</div>
Controller ActionResult:
[OutputCache(Duration = 1)]
[ValidateInput(false)]
public ActionResult ProductFeature(string viewName = InstnaceOwner+"ProductFeature")
{
return PartialView(viewName);
}
我将使用nameName-ProductFeature的命名约定命名部分视图,公司名称将是可变的。这样做是错误和低效的。我仍然是.NET MVC的新手,只是想知道最好的方法是什么,谢谢!
答案 0 :(得分:1)
您使用的是什么版本的MVC?
如果我是你,我会在进入页面控制器后立即获得所有数据(例如HomeController)
public ActionResult Index()
{
var model = new SomeViewModel();
model.ProductFeature = InstnaceOwner + "ProductFeature"
return View(model);
}
然后在View中,(index.cshtml)
@Html.Partial("_ProductFeature", Model.ProductFeature)
并在部分视图(_ProductFeature.cshtml)
中 @model string
<span>Product Feature is @model</span>
希望这能回答你的问题
答案 1 :(得分:1)
计划是只改变配置键的值,如果我的话 必须更改正在使用该应用的实例(哪个客户) 对
根据该评论,它可以像读取配置值一样简单,并使用它来确定要显示的视图。您不需要接受控制器方法的任何参数。
public ActionResult ProductFeature()
{
var prefix = ConfigurationManager.AppSettings["InstanceOwner"];
return PartialView(prefix+"ProductFeature");
}