1. 程式人生 > >MVC |分部檢視 PartialView()

MVC |分部檢視 PartialView()

介紹如何定義

其實它和普通檢視沒有多大區別,只是建立分部檢視的時候視圖裡沒有任何內容,你需要什麼標籤你自己加。第二就是分部檢視不會執行_ViewStart.cshtml中的內容)

控制器


PartialViewDeomController控制器

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;

namespace MvcApp.Controllers
{
    public class PartialViewDeomController : Controller
    {
        //
        // 分部檢視的作用一般用於嵌到如一些正常的檢視中去。(類似與自定義控制元件)相當於: Server.Execute(string path)

        public ActionResult PartialIndex()
        {
            //View()方法返回的檢視預設都會去執行_ViewStart.cshtml中的內容
            //return View();

            //分部檢視不會去執行_ViewStart.cshtml中的內容(分部檢視以PartialView()返回)
            return PartialView();
        }
    }
}

PartialIndex 檢視
<!--注意,建立分部檢視後,視圖裡是沒有任何東西的。自己需要什麼標籤,就加什麼標籤。這個檢視的用法就是到時候巢狀到一些以View()返回的正常檢視中去-->

<select id="dp1">
    <option value="0">湖南</option>
    <option value="1">廣東</option>
    <option value="0">上海</option>>
</select>

<select id="dp2">
    <option value="0">紐約</option>
    <option value="1">洛杉磯</option>
    <option value="0">華盛頓</option>>
</select>


使用介紹(我們發現它與普通檢視是差不多的)

PartialViewDeomController控制器
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>

真實的使用介紹 (重點)

PartialViewDeomController控制器

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
    {
        public ActionResult Index()
        {
            return View();
        }
        
        // 分部檢視的作用一般用於嵌到如一些正常的檢視中去。(類似與自定義控制元件)相當於: 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);
        }
    }
}

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>


相關推薦

MVC |分部檢視 PartialView()

介紹如何定義 其實它和普通檢視沒有多大區別,只是建立分部檢視的時候視圖裡沒有任何內容,你需要什麼標籤你自己加。第二就是分部檢視不會執行_ViewStart.cshtml中的內容) 控制器 PartialViewDeomController控制器 using System

ASP.NET Core 入門教程 7、ASP.NET Core MVC 分部檢視入門

一、前言 1、本教程主要內容 ASP.NET Core MVC (Razor)分部檢視簡介 ASP.NET Core MVC (Razor)分部檢視基礎教程 ASP.NET Core MVC (Razor)強型別分部檢視教程 2、本教程環境資訊 軟體/環境

【相容寫法】HttpServerUtility.Execute 在等待非同步操作完成時被阻止。關鍵詞:MVC,分部檢視,非同步

MVC6之前的版本,對分部檢視的非同步支援不是很好 問題: 視圖裡面有分佈檢視:@{Html.RenderAction("NewProduct", "PartialView", new { count = 10 });} 後端採用非同步方法,比如: 其實MVC裡面的分佈檢視有兩種呼叫方法,

MVC分部檢視的使用:Html.Partial/RenderPartial,Html.Action/RenderAction,RenderPage

ASP.NET MVC 裡的部分檢視,相當於 Web Form 裡的 User Control。我們的頁面往往會有許多重用的地方,可以進行封裝重用。使用部分檢視有以下優點: 1. 可以簡寫程式碼。 2. 頁面程式碼更加清晰、更好維護。在視圖裡有多種方法可以 載入部分檢視,包括

MVC |分部視圖 PartialView()

mode new inf bin pop 自定義 index ner -- 介紹如何定義 其實它和普通視圖沒有多大區別,只是創建分部視圖的時候視圖裏沒有任何內容,你需要什麽標簽你自己加。第二就是分部視圖不會執行_ViewStart.cshtml中的內容) 控制器 Par

MVC呼叫部分檢視PartialView

新建一個控制器:    public class AdminController : Controller    {        public ActionResult UpdateAdmin()        {            return PartialView("UpdateAdmin", n

MVC檢視之【分部檢視】【佈局頁】初瞭解

MVC專案中新建一個檢視,會出現以下介面: 之前一直不清楚【建立為分部檢視】和【使用佈局頁】選項的作用,今天看了一些資料,有了一點基本的瞭解,所以寫這篇文章,當筆記來用,避免以後忘記。 -------------------------------------------

ASP.NET MVC 3的分部檢視

1、什麼是分部檢視,我們應該什麼時候應該用? 作為一個對ASP.NET MVC 模型很熟悉的開發者,他們自然想建立一個內容和程式碼都可以重用的元件,在web 窗體,我們可以建立一個web使用者控制元件或web伺服器控制元件。但是在MVC,我們應該用分部檢視,在這個概念的角度

ASP.NET Core 5.0 MVC中的檢視分類——佈局檢視、啟動檢視、具體檢視分部檢視

建立MVC應用程式   建立後的專案   啟動檢視 _ViewStart.cshtml 顧名思義,就是在View開始執行之前執行,而且是每一個View, 它的預設內容是 @{ Layout = "_Layout"; } 我們可以在這個頁面,新增一些全域性性的內容,比

.net mvc部分檢視

Home控制器: public class HomeController : Controller { public ActionResult Index() { return View(); } public ActionResult PartialPage(string name, int id)

mvc部分檢視

Home控制器: public class HomeController : Controller { public ActionResult Index() { return View(); } public ActionResult PartialPage(string name, int id)

Mvc分部頁的使用

Html.RenderPartial:這個只會載入頁面,而不會載入Controller中的Action,所以頁面的Model是在當前載入頁面傳過去,如@{Html.RenderPartial("Menu",Model.List);},同時Menu頁面接收的型別須和Model.

.Net MVC新建檢視時出現“AutoMapper已擁有為System.ValueTuple定義的依賴項”的錯誤提示

問題描述:          今天在新建MVC檢視的時候,彈出“AutoMapper已擁有為System.ValueTuple定義的依賴項”的錯誤提示,反覆新增或重啟VS或電腦都不行,如下圖所示 問題分析:         仔細一想,出現該問題是這樣的:編輯專案

FineUIMvc的分部檢視聯結器 --VS-- FineUIPro的使用者控制元件聯結器

[FineUIPro]使用者控制元件 在FineUIPro中,我們可以將公用的部分定義為一個使用者控制元件,然後新增到頁面中。 首先定義使用者控制元件:UserInfoControl <%@ Control Language="C#" AutoEventWireup="true" Code

Spring MVC檢視解析器

第一步:匯入jar freemarker-2.3.23.jar spring-context-support-4.0.4.RELEASE.jar <dependency> <groupId>org.freemarker<

ASP.NET Core 入門教程 7、ASP.NET Core MVC 分部視圖入門

log ble 特意 創建目錄 width with 前言 chrome thp 原文:ASP.NET Core 入門教程 7、ASP.NET Core MVC 分部視圖入門一、前言 1、本教程主要內容 ASP.NET Core MVC (Razor)分部視圖簡介

MVC檢視View向控制器傳值的方法

MVC中檢視View向控制器傳值的方法步驟如下: 1、index頁面: 頁面中只需要一個觸發事件的按鈕 2、javascript方法: js方法把要傳遞的引數通過location.href,傳遞到控制器方法中 3、控制器方法 4、另一個頁面呼叫 P

適合ASP.NET MVC檢視片斷快取方式(上):起步

說到網站效能優化,沒有什麼比“快取”更重要了。即便是某些朋友口中念念不忘的“靜態頁”,說到底也只是快取了整張頁面內容而已。但是,顯然這樣大粒度的快取策略,在如今“牽一髮而動全身”的Web 2.0站點中幾乎是無法使用的。試想,在Twitter中的某個名人被數十萬人訂閱,那麼他發一條訊息,難道此時網站要去修改數十

適合ASP.NET MVC檢視片斷快取方式(下):頁面輸出原則

上一篇文章裡已經把Html.Cache打造成了非常具有可用性的API,需要快取時我們只需在頁面上做一個標記即可:<% Html.Cache("cache_key", DateTime.Now.AddSeconds(10), () => { %> <% foreach (

適合ASP.NET MVC檢視片斷快取方式(中):更實用的API

上一篇文章中我們提出了了片斷快取的基本方式,也就是構建HtmlHelper的擴充套件方法Cache,接受一個用於生成字串的委託物件。在快取命中時,則直接返回快取中的字串片斷,否則則使用委託生成的內容。因此,快取命中時委託的開銷便節省了下來。不過這個方法並不實用,如果您要快取大片的HTML,還需要準備一個Par