標籤:htm name server each inf 傳參 mode 返回 四種
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
namespace MvcApp.Controllers
{
using MvcApp.Models;
public class PartialViewDeomController : Controller
{
//
// 分部視圖的作用一般用於嵌到如一些正常的視圖中去。(類似與自訂控制項)相當於: Server.Execute(string path)
public ActionResult PartialIndex()
{
var list = new List<T_UserInfo>()
{
new T_UserInfo(){Id=1,UserName="無鹽海",Name="凡斌"},
new T_UserInfo(){Id=1,UserName="阿寶",Name="周晶"},
};
//分部視圖不會去執行_ViewStart.cshtml中的內容(分部視圖以PartialView()返回)
return PartialView(list);
}
}
}
PartialIndex視圖
@model List<MvcApp.Models.T_UserInfo>
<select id="dp1">
@{
foreach (var item in Model)
{
<option value="0">@item.Name</option>
}
}
</select>
Index視圖與PartialIndex分部視圖。(注意:這裡是在Index視圖裡調用PartialIndex分部視圖)
@{
Layout = null;
}
@using MvcApp.Models;
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width" />
<title>Index</title>
<script src="~/Scripts/jquery-1.8.2.js"></script>
</head>
<body>
<div id="loadData"></div>
<div>
<!--第一種方式:同一控制起下調用分部視圖-->
@Html.Partial("PartialIndex", new List<T_UserInfo>() { new T_UserInfo() { Id = 1, UserName = "無鹽海", Name = "凡斌" }, new T_UserInfo() { Id = 1, UserName = "阿寶", Name = "周晶" }, })
<!--第二種方式:同一控制起下調用分部視圖-->
@{
Html.RenderPartial("PartialIndex", new List<T_UserInfo>() { new T_UserInfo() { Id = 1, UserName = "無鹽海", Name = "凡斌" }, new T_UserInfo() { Id = 1, UserName = "阿寶", Name = "周晶" } });
}
<!--第三種方式:可以跨控制器調用分部視圖(注意:如果通過這種方式調用分部視圖,如果在再PartialIndex這個action中有傳參給分部視圖,則在此處調用就不需要再傳遞參數了)-->
@{Html.RenderAction("PartialIndex", "PartialViewDeom");}
<!--第四種方式:也是可以跨控制器調用分部視圖。和第三種是一樣的-->
@Html.Action("PartialIndex", new { controller = "PartialViewDeom" })
<!--第五種方式:用ajax來調用:如:jquery的Load()方法-->
<script type="text/javascript">
$(function () {
$("#loadData").load("/PartialViewDeom/PartialIndex"); //將PartialIndex分部視圖中的內容載入到id為loadData這個元素中去
})
</script>
</div>action
</body>
</html>
MVC |分部視圖 PartialView()