Hi,大家好,我是编程小6,很荣幸遇见你,我把这些年在开发过程中遇到的问题或想法写出来,今天说一说
partial view_participate用法和短语,希望能够帮助你!!!。
用法一:ajax加载局部刷新
1. 新建一个TaskBoardDetail.cshtml,内容如下:(主要是显示自己需要的数据)
-
-
-
-
@foreach(var item in ViewBag.DataList)
-
-
<div style="float:left;background-color:#e8e2e2;border:3px solid black;">
-
@foreach (var it in item)
-
-
<p style="background-color:#15d32b">@it.functionName
</p>
<br />
-
-
-
-
2.在HomeController.cs中添加获取数据的
TaskBoardDetail方法,可带参数可不带,根据自己的需要
-
-
public ActionResult TaskBoardDetail(string value)
-
-
-
-
IEnumerable<IGrouping<
string, TaskDetail>> taskGroup = list.GroupBy(p => p.projectName);
-
foreach (
var item
in taskGroup)
-
-
-
-
List<TaskDetail> list2= item.ToList();
-
var query =
from p
in list2
orderby p.priority
select p;
-
-
IEnumerable<IGrouping<
string, TaskDetail>> taskGroup2 = list2.GroupBy(p => p.
group);
-
ViewBag.DataList = taskGroup2;
-
-
-
-
return PartialView(
"TaskBoardDetail");
-
-
-
-
-
-
其中TaskDetail是我自定义的类。此函数的主要目的就是给ViewBag.DataList赋值,并return PartialView("TaskBoardDetail");
3.我是要在Index页面点击按钮,刷新加载TaskBoardDetail内容。放置一个div用于承接TaskBoardDetail内容。
-
-
<input type="button" onclick="BtnClick()" value="确定">
-
-
-
<div id="Selector">
</div>
脚本如下:
-
<script type="text/javascript" language="javascript">
-
$(
document).ready(
function () {
-
$(
"input[type='button']").click(
function () {
-
-
url:
"Home/TaskBoardDetail",
-
-
data: {
"value": $(
this).val()},
-
success:
function (data) {
-
$(
"#Selector").html(data);},
-
error:
function (XMLHttpRequest, textStatus, errorThrown) {
-
alert(
"加载失败:" + errorThrown);
-
-
-
-
-
-
OK!加载刷新页面成功。
用法二:页面加载局部视图
Partial View 顾名思义就是Html代码片段,因此可以用Partial View 把部分的Html或显示逻辑包装起来,方便多次使用。
Partial View 需要放在Views/Shared 目录下,任何Controlller 下的Action 或 View 都可以载入。
如何载入Partial View?
MVC 的 HTML 辅助方法有个专门的方法载入分部View,方法名称为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"])
|
public ActionResult CustomerListControl()
{
Return PartialView();
}
@Html.Action("CustomerListControl")
局部视图代码:
@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>
普通视图代码:
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>
控制器代码:
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);
}
}
}
今天的分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。