MVC |分部視圖 PartialView()

來源:互聯網
上載者:User

標籤:htm   name   server   each   inf   傳參   mode   返回   四種   

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>

MVC |分部視圖 PartialView()

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.