介绍如何定义

其实它和普通视图没有多大区别,只是创建分部视图的时候视图里没有任何内容,你需要什么标签你自己加。第二就是分部视图不会执行_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. hdu 1978 How many ways(记忆化搜索)

    这是一个简单的生存游戏,你控制一个机器人从一个棋盘的起始点(1,1)走到棋盘的终点(n,m).游戏的规则描述如下:1.机器人一开始在棋盘的起始点并有起始点所标有的能量.2.机器人只能向右或者向下走,并 ...

  2. Yii2 如何输出 sql 语句?

    可以用 $model->find()->createCommand()->getRawSql(); 不能带 all(). find() 它的 返回值类型是 yii\db\Active ...

  3. P1972 HHのnecklace 离线+树状数组

    此题莫队可过 然而太难了...... 我在胡雨菲那看的解法,然后自己打了一波,调了一个错,上交,自信AC. 做法:离线,对于L排序. 每种颜色可能出现很多次,那么我们如何不算重复呢? 只需把[L,n] ...

  4. 【CH6801】棋盘覆盖

    题目大意:给定一个 N*N 的棋盘,棋盘上有些位置不能防止任何东西,现用 1*2 的骨牌填充棋盘,问最多能铺多少块骨牌. 题解:由于骨牌只能覆盖相邻的两个格子,那么按照对角线进行划分的格子可以保证一定 ...

  5. C++ const 理解

    转载自:https://www.cnblogs.com/jiabei521/p/3335676.html 如果函数需要传入一个指针,面试官可能会问是否需要为该指针加上const,把const加在指针不 ...

  6. Redis需要多少内存预留-内存占用多少才安全

    转: Redis需要多少内存预留-内存占用多少才安全 2018年02月10日 18:13:37 常城 阅读数:10280   版权声明:本文为博主原创文章,未经博主允许不得转载. https://bl ...

  7. Day21--Python--C3算法和super()

    一. python的继承. 多继承 子类继承父类. 为什么要继承???? 为了节省开发时间. 调高开发效率. 代码得到了重用 在python中存在多继承 MRO(method resolution O ...

  8. 计算机基础:计算机网络-chapter5 运输层

    一.运输层做什么事情,通过什么协议实现, 运输层做什么 为相互通信的应用提供逻辑通信 通过端口号来确定应用,提供端到端的服务: 为什么需要运输层,IP层不是就实现了传输数据吗 从IP层来说,是两台主机 ...

  9. Error[Pe020]: identifier "FILE" is undefined

    Error[Pe020]: identifier "FILE" is undefined 需要添加头文件:#include <stdio.h>

  10. python3 rrdtool 使用

    源自 python自动化运维:技术与最佳实践 并做略微修改 安装 yum install python-rrdtoolyum install rrdtool-devel #因为采集用了psutil模块 ...