TNBLOG
首页
博客
视频
资源
问答
猿趣
手机
关于
搜索
收藏
便签
笔记
消息
创作
登录
剑轩
故如虹,知恩;故如月,知明
博主信息
排名
6
文章
6
粉丝
16
评论
8
文章类别
CSS
15篇
微服务
41篇
Git
14篇
.NET
102篇
移动开发
33篇
软件架构
23篇
.NET Core
119篇
.NET MVC
11篇
英语
3篇
随笔
86篇
Bootstrap
3篇
Redis
21篇
编辑器
10篇
Js相关
15篇
虚拟化
8篇
更多
Oracle
7篇
Python
14篇
数据库
26篇
EF
17篇
微信
3篇
前端
151篇
消息队列
6篇
docker
41篇
多线程
1篇
Java
4篇
软件基础
2篇
C++
2篇
WCF
7篇
Linux
7篇
nginx
5篇
K8S
9篇
ABP
2篇
最新文章
最新评价
{{item.articleTitle}}
{{item.blogName}}
:
{{item.content}}
关于我们
ICP备案 :
渝ICP备18016597号-1
网站信息:
2018-2024
TNBLOG.NET
技术交流:
群号656732739
联系我们:
contact@tnblog.net
欢迎加群
欢迎加群交流技术
原
ASP.NET MVC 分部页 PartialViewResult。分部页传参
2546
人阅读
2015/10/13 14:40
总访问:
3915697
评论:
0
收藏:
0
手机
分类:
.NET
tn2>tip:分部页的参数一般不需要从主页面传递过来,直接在分部页里边使用即可。viewbag这些都是主页面和主页面加载的分部页通用的 PartialViewResult返回的也是一个页面,可以使用@Html.Partial加载这个部分页面,需要多次使用的时候可以用到他 ``` public PartialViewResult _pxcx(string polName, string podName, string carrCode, string lineName, int page = 1) { int total = 0; var list = _Price_InfoManagement.GetDTO_PRICELCL_List(polName, podName, carrCode, "", "", lineName, "", page, pageSize, out total); ViewBag.Pager = PagerHelper.CreatePagerByAjax(page, pageSize, total, "lcl.priceQuery", false, lang == "CN"); return PartialView(list);//传入集合aps.net会解析好,然后返回一个页面html } ``` ``` @model List<GTDesk.Domain.MainModule.Entities.DTO.DTO_C_PRICE> <table width="100%" border="0" class="lcl-table tac"> <tr id="thead"> <th scope="col">@ViewData["起始港"]</th> <th scope="col">@ViewData["目的港"]</th> <th scope="col">@ViewData["船公司"]</th> <th scope="col">@ViewData["船期"]</th> <th scope="col">@ViewData["航程"]</th> <th scope="col">@ViewData["中转港"]</th> <th scope="col">20GP</th> <th scope="col">40GP</th> <th scope="col">40HQ</th> <th scope="col">@ViewData["附加费"]</th> <th scope="col">@ViewData["有效日期"]</th> <th scope="col">@ViewData["Key_BookOnline"]</th> </tr> @if (Model != null && Model.Any()) { foreach (var item in Model) { <tr> <td>@item.POL_NAME_EN</td> <td>@item.POD_NAME_EN</td> <td>@item.CARR_CODE</td> <td>@item.ETD </td> <td>@item.TRANSIT_TIME</td> <td>@(string.IsNullOrEmpty(item.POT_NAME_EN) ? "直达" : item.POT_NAME_EN)</td> <td> <p class="wz2">@(item.PR_PRICE_20.HasValue?item.PR_PRICE_20.Value.ToString("00"):"")</p></td> <td><p class="wz2">@(item.PR_PRICE_40.HasValue?item.PR_PRICE_40.Value.ToString("00"):"")</p></td> <td><p class="wz2">@(item.PR_PRICE_40HQ.HasValue?item.PR_PRICE_40HQ.Value.ToString("00"):"")</p></td> ``` 加载部分页面 @Html.Partial("_pxcx", Model) 分页的时候其实就是改变的中间这一块,可以用ajax请求_pxcx,返回的是html在用js这返回的html加载到需要的地方就可以了 ``` //拼箱 var lcl = { //运价查询 priceQuery: function (index) { var polName = $("#POL_NAME_EN").combogrid('getValue'); var lineName = $("#LineId").combobox('getValue'); var podName = $('#POD_NAME_EN').combogrid('getValue'); var carrCode = $('#CARR_CODE').combogrid('getValue'); $.post('/home/_pxcx', { polName: polName, podName: podName, carrCode: carrCode, lineName: lineName, week: '', boxType: '', page: index }, function (data) { $('#price_box').html(data); }); } }; ``` 所以用zazor在后台组织数据返回的页面,也是可以实现ajax分页的 ### 加载方式 @RenderPage() 但它不能使用 原来视图的 Model 和 ViewData ,只能通过参数来传递。 ``` @RenderPage("~/Shared/Component/Dialog.cshtml", new { title = "Hello world!", content="Nani" }) ``` 分部视图接收数据通过Page ``` <div id="dialog" title="@Page.title" style="display: none;"> <p> @Page.title </p> </div> ``` @Html.Partial() 用于将分部视图渲染为字符串 @Html.Partial("_PartialPage1",model,ViewData)直接返回MvcHtmlString填充 ``` @Html.Partial("Component/Dialog", null, new ViewDataDictionary { { "title", "Hello world!" }, { "content", "Nani?" } }) ``` Razor子视图里使用 ViewBag 来获取传递的数据 ``` <div id="dialog" title="@ViewBag.title" style="display: none;"> <p> @ViewBag.content </p> </div> ``` 传递强类型到部分视图 ``` @{ var args = new Dictionary<string,string>(); args["redirectController"] = "Admin"; args["redirectAction"] = "User"; } @Html.Partial("_childPartial",args) ``` _childPartial.cshtml ``` @model Dictionary<string,string> <div>@Model["redirectController"]</div> <div>@Model["redirectAction"]</div> ```
欢迎加群讨论技术,1群:677373950(满了,可以加,但通过不了),2群:656732739
👈{{preArticle.title}}
👉{{nextArticle.title}}
评价
{{titleitem}}
{{titleitem}}
{{item.content}}
{{titleitem}}
{{titleitem}}
{{item.content}}