我是ASP MVC的新手。我正在尝试做的是将数据从数据库传递到应用程序的布局视图。
我的应用程序有一个布局,其中有一个侧边栏。它包含发布的最新新闻/通知的标题。我希望该列表可用于该应用程序的所有页面。侧栏在所有页面中均可见。我通过定义一个单独的独立视图(即没有控制器的视图)来实现这一点。
应用程序的所有页面都继承此视图。我在布局中使用了“ RenderBody”方法。现在,由于布局没有任何控制器,我如何将数据从数据库传递到此共享的_Layout.cshtml页面。
最佳答案
您可以编写一个控制器基类来处理这种情况。然后在布局中使用Html.Action来请求新闻数据。这样,您可以通过覆盖操作来扩展或更改每个控制器中的通知。
public class BaseController : Controller
{
public virtual ActionResult News()
{
return PartialView("_MyPartial");
}
}
public class HomeController : BaseController
{
public ActionResult Index()
{
return View();
}
}
在_Layout.cshtml中的某处:
@Html.Action("News")
话虽如此,我没有发现为共享操作编码一个独立的控制器也没有错。 SharedController。
关于c# - 如何将数据传递到ASP MVC中的共享 View ?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23339196/