MVC |分部视图 PartialView()
2017-07-05 16:10
381 查看
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>
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>
相关文章推荐
- asp.net mvc 使用ajax请求 控制器 (PartialViewResult)分部的action,得到一个分部视图(PartialView)的HTML,进行渲染
- MVC如何将用户控件(分部视图,RenderPartial,ViewUserControl)内容转换为字符串并输出
- ASP.Net MVC开发基础学习笔记(10):分部视图PartialView
- MVC |分部视图 PartialView()
- MVC |分部视图 PartialView()
- MVC PartialView视图使用心得
- EF5+MVC4系列(11)在主视图中用Html.RenderPartial调用分部视图(ViewDate传值);在主视图中按钮用ajax调用子action并在子action中使用return PartialView返回分布视图(return view ,return PartialView区别)
- MVC分部视图的使用:Html.Partial/RenderPartial,Html.Action/RenderAction,RenderPage
- MVC调用部分视图PartialView
- MVC分部视图@Html.Partial
- MVC调用部分视图PartialView
- ASP.NET MVC3调用分部视图-PartialView的几种方式(集)
- mvc 分部视图(Partial)显示登陆前后变化以及Shared文件夹在解决方案资源管理器中没有显示的问题
- MVC5 + EF6 + Bootstrap3 (14) 分部视图PartialView
- mvc 分部视图(Partial)显示登陆前后变化以及Shared文件夹在解决方案资源管理器中没有显示的问题
- ASP.NET MVC3调用分部视图-PartialView的几种方式(集)
- MVC视图中ViewStart/RenderSection/Layout/Partial
- MVC部分视图(Partial View)
- 关于分部视图(Partial View)
- MVC学习七:Razor布局之加载分部视图【PartialView】