MVC 之 Partial View 用法

时间:2022-09-04 20:44:54
      Partial View 顾名思义就是Html代码片段,因此可以用Partial View 把部分的Html或显示逻辑包装起来,方便多次使用。
Partial View 需要放在Views/Shared 目录下,任何Controlller 下的Action 或 View 都可以载入。
 
如何载入Partial View?
MVC 的 HTML 辅助方法有个专门的方法载入分部View,方法名称为Partial.
  • Partial有以下四种方式调用
方法原型
使用范例
Partial(HtmlHelper,String)
Html.Partial("CustomerListControl")
Partial(HtmlHelper,string,Object)
Html.Partial("CustomerListControl",Model)
Partial(HtmlHelper,string,ViewDataDictionary)
Html.Partial("CustomerListControl",ViewData["Model"])
Partial(HtmlHelper,string,Object,ViewDataDictionary)
Html.Partial("CustomerListControl",Model,ViewData["Model"])
 
  • 使用控制器载入分部View

public ActionResult  CustomerListControl()
{

   Return PartialView();
}
  • 使用 Html.Action 载入分部View

@Html.Action("CustomerListControl")

如何实现?
1  Models
   using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
 
namespace Step1.Models
{
    public class Product
    {
        public string Name
        {
            get;
            set;
        }
 
        public string Banner
        {
            get;
            set;
        }
    }
}
 
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
namespace Step1.Models
{
    public class OrderModel
    {
        public Customer Customer
        {
            get;
            set;
        }
        public List<Product> ProductList
        {
            get;
            set;
        }
    }
}
2  DAL
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using Step1.DAL;
using Step1.Models;
namespace Step1.DAL
{
    public class DBContext
    {
        public static OrderModel GetOrderList()
        {
            OrderModel model = new OrderModel();
            model.Customer = new Customer() { CustomerID = "10000", CompanyName = "redwave" };
            model.ProductList = new List<Product>();
            for (int i = 0; i < 10; i++)
            {
                Product p = new Product();
                p.Banner = string.Format("Banner{0}", i.ToString());
                p.Name = string.Format("ProductMame{0}", i.ToString());
                model.ProductList.Add(p);
            }
            return model;
        }
    }
}
 
3  Controller
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using Step1.DAL;
namespace Step1.Controllers
{
    public class PartialViewController : Controller
    {
        //
        // GET: /PartialView/
 
        public ActionResult Index()
        {
            var model=   DBContext.GetOrderList();
           
            return View(model);
        }
 
    }
}
 
4  Partial View
 
@using Step1.Models;
@using System.Collections;
@model IEnumerable<Product>
<table border="1" >
    <tr >
        <td>
            Name
        </td>
        <td>
            Banner
        </td>
    </tr>
    @foreach (var item in Model)
    {
        <tr>
            <td>
                @item.Name
            </td>
            <td>
                @item.Banner
            </td>
        </tr>
    }
   
</table>
 
5  View
using Step1.Models;
@model OrderModel
@{
    ViewBag.Title = "Index";
}

<h2>Index</h2>
<div>
    <div>
        @Model.Customer.CompanyName
    </div>
    <div>
        @Model.Customer.CustomerID
    </div>
    <div>
        @Html.Partial("CustomerListControl",@Model.ProductList)
    </div>
</div>

 
6 项目结构
 
MVC 之  Partial View 用法
 
7 运行结果
 
MVC 之  Partial View 用法
 

MVC 之 Partial View 用法的更多相关文章

  1. &lbrack;ASP&period;NET MVC 小牛之路&rsqb;12 - Section、Partial View 和 Child Action

    概括的讲,View中的内容可以分为静态和动态两部分.静态内容一般是html元素,而动态内容指的是在应用程序运行的时候动态创建的内容.给View添加动态内容的方式可归纳为下面几种: Inline cod ...

  2. &lbrack;转&rsqb;&lbrack;ASP&period;NET MVC 小牛之路&rsqb;12 - Section、Partial View 和 Child Action

    本文转自:http://www.cnblogs.com/willick/p/3410855.html 概括的讲,View中的内容可以分为静态和动态两部分.静态内容一般是html元素,而动态内容指的是在 ...

  3. MVC&plus;EF 随笔小计——分部视图(Partial View)及Html&period;Partial和Html&period;Action差异

    Partial View指可以应用于View中以作为其中一部分的View的片段(类似于之前的user control), 可以像类一样,编写一次, 然后在其他View中被反复使用. 一般放在&quot ...

  4. ASP&period;NET MVC中Section、Partial View 和 Child Action(转载)

    概括的讲,View中的内容可以分为静态和动态两部分.静态内容一般是html元素,而动态内容指的是在应用程序运行的时候动态创建的内容.给View添加动态内容的方式可归纳为下面几种: Inline cod ...

  5. &period;net mvc 设置div的动态部分视图内容 dynamic partial view

    示例效果:点击按钮,在div中 显示不同的partial view的内容 $("#btnEdit").click(function () { //动态获取相应的部分视图 var u ...

  6. ASP&period;NET没有魔法——ASP&period;NET MVC Razor与View渲染

    对于Web应用来说,它的界面是由浏览器根据HTML代码及其引用的相关资源进行渲染后展示给用户的结果,换句话说Web应用的界面呈现工作是由浏览器完成的,Web应用的原理是通过Http协议从服务器上获取到 ...

  7. ASP&period;NET没有魔法——ASP&period;NET MVC Razor与View渲染 ASP&period;NET没有魔法——ASP&period;NET MVC界面美化及使用Bundle完成静态资源管理

    ASP.NET没有魔法——ASP.NET MVC Razor与View渲染   对于Web应用来说,它的界面是由浏览器根据HTML代码及其引用的相关资源进行渲染后展示给用户的结果,换句话说Web应用的 ...

  8. 视图&lpar;View&rpar;与部分视图&lpar;Partial View&rpar;之间数据传递

    写ASP.NET MVC程序,我们经常需要把数据从视图(View)传递至部分视图(Partial View) 或者相反. 今天Insus.NET使用 ControllerBase.TempData 进 ...

  9. 截取视图某一段另存为部分视图&lpar;Partial View&rpar;

    在做ASP.NET MVC后台管理程序时,根据程序需要,Isus.NET需要实现一个功能,就是动态截取视图某一段另存为部分视图Partial View. 思路为在视图中,使用jQury的程序截图以及P ...

随机推荐

  1. R语言 常见模型

    转自 雪晴网 [R]如何确定最适合数据集的机器学习算法 抽查(Spot checking)机器学习算法是指如何找出最适合于给定数据集的算法模型.本文中我将介绍八个常用于抽查的机器学习算法,文中还包括各 ...

  2. angularjs&plus;nodejs&plus;mongodb三件套

    说实话,自己对于web前段的认识并不是太深入,但是因为项目的需要,所以有的时候肯定会需要接触到web前段的知识点.说到web前端想必大家肯定会想到css+js+html,的确web前端的工作,从某总角 ...

  3. Windows phone 之Image控件

    wp目前支持的图片格式为png和jpeg ,我们可以通过设置Source属性设置图片源. 还有两个属性是:Stretch,Opacity Stretch属性 image的拉伸行为有此属性决定,此属性是 ...

  4. PTA中提交Java程序的一些套路

    201708新版改版说明 PTA与2017年8月已升级成新版,域名改为https://pintia.cn/,官方建议使用Firefox与Chrome浏览器. 旧版 PTA 用户首次在新版系统登录时,请 ...

  5. Linux之shell典型应用之脚本实现

    一. 提取Linux操作系统信息 二. 获取操作系统运行状态 三. 分析应用状态 四. 应用日志分析 第一章:VIM编辑器设置 一.语法高亮     syntax on/off 二.显示行号 set ...

  6. hive的strict模式&semi;where&comma;group by&comma;having&comma;order by同时使用的执行顺序

    主要限制三种情况 (1) 有partition的表查询需要加上where子句,筛选部分数据实现分区裁剪,即不允许全表全分区扫描,防止数据过大 (2) order by 执行时只产生一个reduce,必 ...

  7. flutter插件汇总

    audio_recorder: any #录音.播放 flutter_sound: ^#录音 dropdown_menu: ^#下拉菜单 simple_permissions:#权限获取 easy_a ...

  8. 【JQ】jq动态绑定事件&period;on&lpar;&rpar;、解绑事件off&lpar;&rpar;

    #JQ 绑定与解绑事件的方法的历史演变 1. jquery1.4 及之前的版本,由.click() 或 .bind()方法绑定的事件,不能适用脚本创建的新元素:即是说页面加载完成后,再动态创建的DOM ...

  9. 继承时,当父子类都具有相同的成员变量,默认情况下是直接调用子类的成员变量,当要调用父类的成员变量则需要使用super关键之

    package day02; public class Person { String name="fl"; }class Car{ }class Student extends ...

  10. 浅谈JVM-图解类加载机制

    一.目录 二.类加载机制流程 1.什么是类加载机制? JVM把class文件加载到内存里面,并对数据进行校验.准备.解析和初始化,最终能够被形成被JVM可以直接使用的Java类型的过程. 2.类加载流 ...