介绍如何定义

其实它和普通视图没有多大区别,只是创建分部视图的时候视图里没有任何内容,你需要什么标签你自己加。第二就是分部视图不会执行_ViewStart.cshtml中的内容)

控制器

PartialViewDeomController控制器

  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Web;
  5. using System.Web.Mvc;
  6. namespace MvcApp.Controllers
  7. {
  8. public class PartialViewDeomController : Controller
  9. {
  10. //
  11. // 分部视图的作用一般用于嵌到如一些正常的视图中去。(类似与自定义控件)相当于: Server.Execute(string path)
  12. public ActionResult PartialIndex()
  13. {
  14. //View()方法返回的视图默认都会去执行_ViewStart.cshtml中的内容
  15. //return View();
  16. //分部视图不会去执行_ViewStart.cshtml中的内容(分部视图以PartialView()返回)
  17. return PartialView();
  18. }
  19. }
  20. }

PartialIndex 视图

  1. <!--注意,创建分部视图后,视图里是没有任何东西的。自己需要什么标签,就加什么标签。这个视图的用法就是到时候嵌套到一些以View()返回的正常视图中去-->
  2. <select id="dp1">
  3. <option value="0">湖南</option>
  4. <option value="1">广东</option>
  5. <option value="0">上海</option>>
  6. </select>
  7. <select id="dp2">
  8. <option value="0">纽约</option>
  9. <option value="1">洛杉矶</option>
  10. <option value="0">华盛顿</option>>
  11. </select>

使用介绍(我们发现它与普通视图是差不多的)

PartialViewDeomController控制器
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Web;
  5. using System.Web.Mvc;
  6. namespace MvcApp.Controllers
  7. {
  8. using MvcApp.Models;
  9. public class PartialViewDeomController : Controller
  10. {
  11. //
  12. // 分部视图的作用一般用于嵌到如一些正常的视图中去。(类似与自定义控件)相当于: Server.Execute(string path)
  13. public ActionResult PartialIndex()
  14. {
  15. var list = new List<T_UserInfo>()
  16. {
  17. new T_UserInfo(){Id=1,UserName="无盐海",Name="凡斌"},
  18. new T_UserInfo(){Id=1,UserName="阿宝",Name="周晶"},
  19. };
  20. //分部视图不会去执行_ViewStart.cshtml中的内容(分部视图以PartialView()返回)
  21. return PartialView(list);
  22. }
  23. }
  24. }

PartialIndex视图

  1. @model List<MvcApp.Models.T_UserInfo>
  2. <select id="dp1">
  3. @{
  4. foreach (var item in Model)
  5. {
  6. <option value="0">@item.Name</option>
  7. }
  8. }
  9. </select>

真实的使用介绍 (重点)

PartialViewDeomController控制器

  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Web;
  5. using System.Web.Mvc;
  6. namespace MvcApp.Controllers
  7. {
  8. using MvcApp.Models;
  9. public class PartialViewDeomController : Controller
  10. {
  11. public ActionResult Index()
  12. {
  13. return View();
  14. }
  15. // 分部视图的作用一般用于嵌到如一些正常的视图中去。(类似与自定义控件)相当于: Server.Execute(string path)
  16. public ActionResult PartialIndex()
  17. {
  18. var list = new List<T_UserInfo>()
  19. {
  20. new T_UserInfo(){Id=1,UserName="无盐海",Name="凡斌"},
  21. new T_UserInfo(){Id=1,UserName="阿宝",Name="黄雪辉"},
  22. };
  23. //分部视图不会去执行_ViewStart.cshtml中的内容(分部视图以PartialView()返回)
  24. return PartialView(list);
  25. }
  26. }
  27. }

Index视图与PartialIndex分部视图。(注意:这里是在Index视图里调用PartialIndex分部视图)

    1. @{
    2. Layout = null;
    3. }
    4. @using MvcApp.Models;
    5. <!DOCTYPE html>
    6. <html>
    7. <head>
    8. <meta name="viewport" content="width=device-width" />
    9. <title>Index</title>
    10. <script src="~/Scripts/jquery-1.8.2.js"></script>
    11. </head>
    12. <body>
    13. <div id="loadData"></div>
    14. <div>
    15. <!--第一种方式:同一控制起下调用分部视图-->
    16. @Html.Partial("PartialIndex", new List<T_UserInfo>() { new T_UserInfo() { Id = 1, UserName = "无盐海", Name = "凡斌" }, new T_UserInfo() { Id = 1, UserName = "阿宝", Name = "周晶" }, })
    17. <!--第二种方式:同一控制起下调用分部视图-->
    18. @{
    19. Html.RenderPartial("PartialIndex", new List<T_UserInfo>() { new T_UserInfo() { Id = 1, UserName = "无盐海", Name = "凡斌" }, new T_UserInfo() { Id = 1, UserName = "阿宝", Name = "周晶" } });
    20. }
    21. <!--第三种方式:可以跨控制器调用分部视图(注意:如果通过这种方式调用分部视图,如果在再PartialIndex这个action中有传参给分部视图,则在此处调用就不需要再传递参数了)-->
    22. @{Html.RenderAction("PartialIndex", "PartialViewDeom");}
    23. <!--第四种方式:也是可以跨控制器调用分部视图。和第三种是一样的-->
    24. @Html.Action("PartialIndex", new { controller = "PartialViewDeom" })
    25. <!--第五种方式:用ajax来调用:如:jquery的Load()方法-->
    26. <script type="text/javascript">
    27. $(function () {
    28. $("#loadData").load("/PartialViewDeom/PartialIndex"); //将PartialIndex分部视图中的内容加载到id为loadData这个元素中去
    29. })
    30. </script>
    31. </div>action
    32. </body>
    33. </html>

MVC |分部视图 PartialView()的更多相关文章

  1. MVC5 + EF6 + Bootstrap3 (14) 分部视图PartialView

    Slark.NET-博客园 http://www.cnblogs.com/slark/p/mvc5-ef6-bs3-get-started-partialview.html 系列教程:MVC5 + E ...

  2. mvc 分部视图(Partial)显示登陆前后变化以及Shared文件夹在解决方案资源管理器中没有显示的问题

    刚开始我的解决方案资源管理器中没有显示Shared文件夹,但Shared文件夹在项目中是实际存在的,我搜了下好像没有类似的解答(可能是我搜索的关键词不够准确).后来自己看了下vs2012. 其实解决方 ...

  3. asp.net mvc 使用ajax请求 控制器 (PartialViewResult)分部的action,得到一个分部视图(PartialView)的HTML,进行渲染

    在asp.net mvc 使用ajax请求获取数据的时候,我们一般是返回json或者xml,然后解析这些数据进行渲染,这样会比较麻烦,可以请求一个 分部action,返回一个分部视图 直接可以渲染,不 ...

  4. 【兼容写法】HttpServerUtility.Execute 在等待异步操作完成时被阻止。关键词:MVC,分部视图,异步

    异常处理汇总-后端系列 http://www.cnblogs.com/dunitian/p/4523006.html MVC6之前的版本,对分部视图的异步支持不是很好 问题: 视图里面有分布视图:@{ ...

  5. ASP.NET Core 入门教程 7、ASP.NET Core MVC 分部视图入门

    一.前言 1.本教程主要内容 ASP.NET Core MVC (Razor)分部视图简介 ASP.NET Core MVC (Razor)分部视图基础教程 ASP.NET Core MVC (Raz ...

  6. ASP.NET Core 入门笔记8,ASP.NET Core MVC 分部视图入门

    一.前言 1.本教程主要内容 ASP.NET Core MVC (Razor)分部视图简介 ASP.NET Core MVC (Razor)分部视图基础教程 ASP.NET Core MVC (Raz ...

  7. ASP.NET MVC部分视图PartialView的使用

    在ASP.NET MVC项目中,部分视图PartialVieww使用很广.它实际就是在ASP.NET环境的用户自定义控件UserControl. 在控制器中,创建一个视图操作Action和一个部分视图 ...

  8. ASP.NET MVC3调用分部视图-PartialView的几种方式(集)

    我们的网页通常会有好几个部分组成,一些公共的区域我们通常会做成PartialView(部分视图),但这些视图并不是完全固定的,所以还是需要 特定的Controller来控制.如果只是静态的html,虽 ...

  9. MVC分部视图@Html.Partial

    加载分布视图的方式: //1.以视图名使用当前文件夹下的视图(如果没有找到,则搜索 Shared 文件夹) @Html.Partial("_test") //加载对应文件 /Vie ...

随机推荐

  1. 工作笔记:/bin/bash^M: 坏的解释器: 没有那个文件或目录 问题解决

    问题原因: 由于windows上换行符为CR LF而在Linux下是 LF 导致出现上述问题 解决方案 1. 在windows下 可以使用nodepad打开该shell文件,然后将shell文件中的格 ...

  2. jQuery ajax读取本地json文件

    jQuery ajax读取本地json文件 json文件 { "first":[ {"name":"张三","sex": ...

  3. go框架gin的使用

    我们在用http的时候一般都会用一些web框架来进行开发,gin就是这样的一个框架,它有哪些特点呢 一:gin特点 1.性能优秀2.基于官方的net/http的有限封装3.方便 灵活的中间件4.数据绑 ...

  4. tcpdump高级过滤

    一:查看帮助选项 tcpdump --help Usage: tcpdump [-aAbdDefhHIJKlLnNOpqStuUvxX#] [ -B size ] [ -c count ] [ -C ...

  5. mysqldump常用备份参数

    #!/bin/sh DUMP=/usr/bin/mysqldump OUT_DIR=/var/ftp/iips/mysqlbak LINUX_USER=root DB_NAME=yfdmbd DB_U ...

  6. rownum查询前N条记录

    在Oracle中,要按特定条件查询前N条记录,用个rownum就搞定了.——select * from emp where rownum <= 5 而且书上也告诫,不能对rownum用" ...

  7. docker 基本功能

    Docker开启Remote API docker默认是没有开启Remote API的,需要我们手动开启. 1.编辑/lib/systemd/system/docker.service文件: 注释掉图 ...

  8. chrome浏览器安装不上的惨痛经历

    项目在赶进度的时候,手贱把chrome的一些文件删除了,整个浏览器都没法打开 决定重装下,但是连卸载的功能都打不开了 上网重新下载了个安装包,发现安装包都打不来 很绝望,查了很多资料 很多人说要删除注 ...

  9. Java Web之Servlet的三大作用域对象

    Servlet的作用域是干嘛的?答案就是共享数据而存在的,如图: 下面通过代码演示来具体讲解一下三大作用域 我们新建两个类 package main.com.vae.scope; import jav ...

  10. 17.解释器模式(Interpreter Pattern)

    17.解释器模式(Interpreter Pattern)