分部视图(Patial)一般分为两种,一种是静态,一种为动态。
静态视图毋庸赘言,一般多用于logo条之类的可以整体搬移重用的静态结构。在share文件夹中创建并在页面中用Html.Partial("patial_name")
调用即可。
动态视图又分两种——主要指Model传入方式。
第一种为分享主页面的Model。直接在页面中用几乎等同于静态试图的方法调用:Html.RenderPartial("patial_name", Model)
其中Model可以为主页面中任何类型的数据,但是传入作为参数的时候必须强类型化,如:Html.RenderPartia;("_userInfo", (Business.Author)Model.userInfo)
第二种为后台传入数据。
方法为在后台建立一个新的Controller和相应的Action(例如为PatialController和_userInfo)
public class PatialController : Controller
{
public PartialViewResult _userInfo()
{
//业务逻辑
return PartialView(Model);
}
在主页面中调用:Html.RenderAction("action_name" ,"controller_name")
至于哪种方法比较好……很难说
目前为止个人比较喜欢后者。因为它对业务的分离更彻底。更适合当今条件下分工合作的原则。