主页面:
@{
Layout = null;
}
<! DOCTYPE html>
< html>
< head>
<title >Index </ title>
<script src ="@ Url.Content("~/Scripts/jquery-1.7.1.js" )"></ script >
<script type ="text/javascript">
@* 异步加载分部视图 *@
$( function() {
$( '#btn').click( function() {
$.ajax({
url: "/Home/GetDataDemo" ,
success: function(data) {
$( '#tBody').html(data);
}
});
});
})
</script >
</ head>
< body>
<div >
< h1>< font color ="red">主页面 </ font></ h1 >
< table border="1">
< thead>
< th> 姓名 </th >
< th> 年龄 </th >
< th> 地址 </th >
</ thead>
< tbody id="tBody">
@*1.通过Action请求 *@
@* @{ Html.RenderAction("GetDataDemo", "Home");} *@
@* @Html.Action("GetDataDemo","Home") *@
@*2.通过 请求Index页面的时候就需要在Index方法传递ViewData["data"]过来 *@
@* @{ Html.RenderPartial("TableBody", ViewData["data"]);} *@
@*@Html.Partial("TableBody",ViewData["data"]) *@
@*注意问题:1.RenderAction和RenderPartial需要大括号包括起来,而且注意不能少分号
2.注意传递数据给分部视图的时候不能为"动态"即ViewBag.Data
3.分部视图如果没有使用强类型,可以使用动态,但是ViewBag.data中的"data"必须和
ViewData["data"]中的["data"]一致,否则报错,当然大小写没有关系
*@
</ tbody>
</ table>
@* 点击按钮异步加载分部视图 *@
< input id="btn" type ="button" name ="name" value ="动态加载分部视图" />
</div >
</ body>
</ html>
-------------------------------------------------------------------------------------------------------------
分部视图
@model IList<MvcApplication1.Controllers. Person>
@{
foreach ( var person in Model)
{
< tr>
< td> @person.Name </ td>
< td> @person.Age </ td>
< td> @person.Address </ td>
</ tr>
}
}
@* 也可以使用动态*@
@* @{
foreach (var person in ViewBag.data)
{
<tr>
<td>@person.Name</td>
<td>@person.Age</td>
<td>@person.Address</td>
</tr>
}
} *@
--------------------------------------------------------------------------
后台代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
namespace MvcApplication1.Controllers
{
public class HomeController : Controller
{
//
// GET: /Home/
public ActionResult Index()
{
ViewData[ "data" ] = GetData();
//ViewBag.Data = GetData();
return View();
}
public ActionResult GetDataDemo()
{
return PartialView( "TableBody" , GetData());
}
private IList< Person> GetData()
{
IList< Person> persons = new List< Person>()
{
new Person() {Name = "张三" , Address = "北京" , Age = 15},
new Person() {Name = "李四" , Address = "上海" , Age = 16},
new Person() {Name = "黄六" , Address = "深圳" , Age = 17},
new Person() {Name = "小小" , Address = "广州" , Age = 18}
};
return persons;
}
}
public class Person
{
public string Name { set; get; }
public int Age { set; get; }
public string Address { set; get; }
}
}