最近做了一个项目 ,要在主视图中使用部分视图,比如动态加载导航菜单,显示一些与主视图的模型不相关的一一些信息,虽然这些信息量不多,大都 与主视图的模型毫不相干,但这些信息又不能缺少,这可以让用户在界面中获取尽可能多的信息,同时能让用户得到更好的体验。下面,是我个人在实际的项目中,对部分视图主视图中的使用的方法的一些总结,有的地方也不一写恰当,也很希望能得到各路大侠的赐教,同时分享给大家。
主要的有两种方式, 一种是经过控制器的处理后,再返回呈现出来,另一种是不经过控制器的处理,直接返回来。
1. 要经过控制的处理后,再返回呈现出来
@Html.Action("GetNews", "News") 这个会链接到 news 控制器下的 GetNews 的Action 在 News 控制器中要这样写
public ActionResult GetNews()
{
return PartialView("/Views/Shared/_NewsPage.cshtml");
}
返回的是部分视图,同样的,部分视图也可以带一个模型,与主视图的用法相似。这个部分视图可以放到 Views -->Shared 目录下,来供其它视图共享。为了便于维护,部分视图相对应的控制器,也应该新建一个控制器,这个控制器专门用来维护部分视图用的。
2. 不经过控制器的处理,直接返回
@Html.Partial("/Views/Shared/_NewsPage.cshtml"); 为了避开视图引擎的查找,将视图的名称写成了相对路径,同样也可以直接写成部分视图的名称。这样就会直接返回部分视图,而不会经过 控制器的处理。这样的部分视图其内容大都 是静态的。
还有一种方式就是使用Jquery 来调用
$(function () {
$("#load").load("/News/GetNues");
}) 这种方式会经过控制器的处理,一般加载的都是动态的内容
对于不同的需求,自己可以根据实际需要来选择合适的方式, 因为自己的经验有限,知道的也就这么多,希望看后能对你有帮助,同时,也希望能得到 大侠们的指教。如果你肝不同的观点,欢迎一起交流分享心得: QQ 1146626568