我的申请中有 2 个页面的布局相同。我想为他们每个人使用相同的 View ,并通过 Controller 传递内容。如何在我的 Controller 中进行设置:
这是我的导航部分外观:
@{
Dictionary<string, string> links = new Dictionary<string,string>();
links.Add("home", "Index");
links.Add("neurosurgical", "Neurosurgical");
links.Add("pain management", "PainManagement");
links.Add("staff", "Staff");
links.Add("patient resources", "PatientResources");
links.Add("contact", "Contact");
}
<nav id="main_menu">
<ul class="primary_menu">
@foreach(var link in links)
{
<li class="@(link.Value == ViewContext.RouteData.Values["Action"].ToString() ? "active" : "")">
@Html.ActionLink(link.Key, link.Value)
</li>
}
</ul>
</nav>
上面列出的类似页面是 NeuroSurgical 和 PainManagement。我的 Controller 现在看起来像这样:
namespace ****************.Controllers // Namespace redacted
{
public class HomeController : Controller
{
public ActionResult Index()
{
ViewBag.Message = "Modify this template to jump-start your ASP.NET MVC application.";
return View();
}
public ActionResult About()
{
ViewBag.Message = "Your app description page.";
return View();
}
public ActionResult Contact()
{
ViewBag.Message = "Your contact page.";
return View();
}
}
}
About
是我设置的 View 文件,用作两个页面的模板。我是否为每个页面创建操作并将它们指向 About.cshtml?怎么办?
最佳答案
public ActionResult Contact()
{
ViewBag.Message = "Your contact page.";
return View("About");
}
关于c# - 多个 Action 可以服务于同一个 View 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22545799/