如何在使用ASPMVC4的分部视图中获取数据展示

在ASPMVC4中,创建的网站项目会用到分部视图,通过@Html.Partial("视图名")来加载到页面上;
但是如何把数据附加到分部视图中在加载到主页上,是个新的问题。

暂时发现这个问题有两种解决方法:


=================================================================================


第一种:



首页上的分部视图引用代码是:


用来调用分部视图;

@{Html.RenderAction("comInfo");}


HomeController中加入以下代码:


用来组织数据,返回到分部视图中去;

public ActionResult comInfo() {
List<string> info = new List<string>{
"第一句","第二句","第三句","第四句"
};
return PartialView("Introduce_Part",info);
}



在分部页面上的代码如下:


用来展示传输过来的数据;


@model object
@using System.Collections.Generic;


<ul>
@{
List<string> a = Model as List<string>;
if(a != null){
foreach(var i in a){

<li>
@i
</li>
}
}
}
</ul>

第一种方法逻辑清晰,从页面加载到分部视图加载,分部视图的数据传递,展示。



=========================================================================================


第二种方法



首页引用分部视图的代码如下:


@Html.Partial("Test_Partial",(List<QDQianJianSiteSystem.ModelLibrary.DailyInfo>) ViewBag.Datas);


Controller中的代码如下:


用来组织数据并返回

public List<DailyInfo> GetTest1()
{


List<DailyInfo> users = new List<DailyInfo>();


for (int i = 0; i < 5; i++)
{
users.Add(new DailyInfo()
{
Title = "局部视图标题" + i.ToString()
});
}
return users;
}


页面展示代码:略。



第二种方法在Index里面还要额外加一句:


ViewBag["data"] = new List<string>{
"第一句","第二句","第三句","第四句"
};


数据在主页加载时就已经准备完毕了,所以第二种方法效率高一点。