应无所住,而生其心
排名
1
文章
860
粉丝
112
评论
163
net core webapi post传递参数
庸人 : 确实坑哈,我也是下班好了好几次,发现后台传递对象是可以的,但...
百度编辑器自定义模板
庸人 : 我建议换个编辑器,因为现在百度富文本已经停止维护了,用tinymec...
ICP备案 :渝ICP备18016597号-1
网站信息:2018-2025TNBLOG.NET
技术交流:群号656732739
联系我们:contact@tnblog.net
公网安备:50010702506256
欢迎加群交流技术

ASP.NET MVC 分部页 PartialViewResult。分部页传参

4458人阅读 2015/10/13 14:40 总访问:5182379 评论:0 收藏:0 手机
分类: .NET


tip:分部页的参数一般不需要从主页面传递过来,直接在分部页里边使用即可。viewbag这些都是主页面和主页面加载的分部页通用的

PartialViewResult返回的也是一个页面,可以使用@Html.Partial加载这个部分页面,需要多次使用的时候可以用到他

  1. public PartialViewResult _pxcx(string polName, string podName, string carrCode, string lineName, int page = 1)
  2. {
  3. int total = 0;
  4. var list = _Price_InfoManagement.GetDTO_PRICELCL_List(polName, podName, carrCode, "", "", lineName, "", page, pageSize, out total);
  5. ViewBag.Pager = PagerHelper.CreatePagerByAjax(page, pageSize, total, "lcl.priceQuery", false, lang == "CN");
  6. return PartialView(list);//传入集合aps.net会解析好,然后返回一个页面html
  7. }
  1. @model List<GTDesk.Domain.MainModule.Entities.DTO.DTO_C_PRICE>
  2. <table width="100%" border="0" class="lcl-table tac">
  3. <tr id="thead">
  4. <th scope="col">@ViewData["起始港"]</th>
  5. <th scope="col">@ViewData["目的港"]</th>
  6. <th scope="col">@ViewData["船公司"]</th>
  7. <th scope="col">@ViewData["船期"]</th>
  8. <th scope="col">@ViewData["航程"]</th>
  9. <th scope="col">@ViewData["中转港"]</th>
  10. <th scope="col">20GP</th>
  11. <th scope="col">40GP</th>
  12. <th scope="col">40HQ</th>
  13. <th scope="col">@ViewData["附加费"]</th>
  14. <th scope="col">@ViewData["有效日期"]</th>
  15. <th scope="col">@ViewData["Key_BookOnline"]</th>
  16. </tr>
  17. @if (Model != null && Model.Any())
  18. {
  19. foreach (var item in Model)
  20. {
  21. <tr>
  22. <td>@item.POL_NAME_EN</td>
  23. <td>@item.POD_NAME_EN</td>
  24. <td>@item.CARR_CODE</td>
  25. <td>@item.ETD </td>
  26. <td>@item.TRANSIT_TIME</td>
  27. <td>@(string.IsNullOrEmpty(item.POT_NAME_EN) ? "直达" : item.POT_NAME_EN)</td>
  28. <td> <p class="wz2">@(item.PR_PRICE_20.HasValue?item.PR_PRICE_20.Value.ToString("00"):"")</p></td>
  29. <td><p class="wz2">@(item.PR_PRICE_40.HasValue?item.PR_PRICE_40.Value.ToString("00"):"")</p></td>
  30. <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加载到需要的地方就可以了

  1. //拼箱
  2. var lcl = {
  3. //运价查询
  4. priceQuery: function (index) {
  5. var polName = $("#POL_NAME_EN").combogrid('getValue');
  6. var lineName = $("#LineId").combobox('getValue');
  7. var podName = $('#POD_NAME_EN').combogrid('getValue');
  8. var carrCode = $('#CARR_CODE').combogrid('getValue');
  9. $.post('/home/_pxcx', { polName: polName, podName: podName, carrCode: carrCode, lineName: lineName, week: '', boxType: '', page: index }, function (data) {
  10. $('#price_box').html(data);
  11. });
  12. }
  13. };

所以用zazor在后台组织数据返回的页面,也是可以实现ajax分页的

加载方式

@RenderPage()
但它不能使用 原来视图的 Model 和 ViewData ,只能通过参数来传递。

  1. @RenderPage("~/Shared/Component/Dialog.cshtml", new { title = "Hello world!", content="Nani" })

分部视图接收数据通过Page

  1. <div id="dialog" title="@Page.title" style="display: none;">
  2. <p>
  3. @Page.title
  4. </p>
  5. </div>

@Html.Partial()
用于将分部视图渲染为字符串
@Html.Partial(“_PartialPage1”,model,ViewData)直接返回MvcHtmlString填充

  1. @Html.Partial("Component/Dialog", null, new ViewDataDictionary { { "title", "Hello world!" }, { "content", "Nani?" } })

Razor子视图里使用 ViewBag 来获取传递的数据

  1. <div id="dialog" title="@ViewBag.title" style="display: none;">
  2. <p>
  3. @ViewBag.content
  4. </p>
  5. </div>

传递强类型到部分视图

  1. @{
  2. var args = new Dictionary<string,string>();
  3. args["redirectController"] = "Admin";
  4. args["redirectAction"] = "User";
  5. }
  6. @Html.Partial("_childPartial",args)

_childPartial.cshtml

  1. @model Dictionary<string,string>
  2. <div>@Model["redirectController"]</div>
  3. <div>@Model["redirectAction"]</div>

欢迎加群讨论技术,1群:677373950(满了,可以加,但通过不了),2群:656732739。有需要软件开发,或者学习软件技术的朋友可以和我联系~(Q:815170684)

评价

.net mvc分部页,.net core分部页

.net分部页的三种方式第一种:@Html.Partial(&quot;_分部页&quot;)第二种:@{ Html.RenderPartial(&quot;分部页&quot;);}...

.net mvc 分部页介绍

分部页的引用方式:第一种:@Html.Partial(&quot;分部页的名字&quot;) 这个方法直接返回的是html字符串 第二种: @{ Ht...

ASP.net MVC 分部页

PartialViewResult返回的也是一个页面,可以使用@Html.Partial加载这个部分页面,需要多次使用的时候可以用到他 public P...

net core 使用 EF Code First

下面这些内容很老了看这篇:https://www.tnblog.net/aojiancc2/article/details/5365 项目使用多层,把数据库访问...

cAPS.net 保存base64位格式的图片

publicvoidUpload() { //取出图片对应的base64位字符 stringimgBase=Request[&quot;imgBase&quot;]; //c#里边的base6...

Quartz.net实例动态改变周期调度。misfire、Cron

Quartz:Java编写的开源的任务调度作业框架 类似Timer之类定时执行的功能,但是更强大Quartz.NET:是把Quartz转成C# NuGet...

.net Windows服务发布、安装、卸载、监听脚本。服务调试

一、脚本 为方便不用每次都去写安装卸载的脚本1.安装脚本@echooff @echo开始安装【服务】 %SystemRoot%\Microsoft.NET\Fr...

c、VB.net中全角半角转换方法

///&lt;summary&gt; ///转全角的函数(SBCcase) ///&lt;/summary&gt; ///&lt;paramname=&quot;input&quot;&gt;任意字符串...

C.net 配合小程序实现经过第三方服务器中转文件

某些时候,微信小程序前段上传文件的时候需要经过第三方服务器再将文件上传到客户的服务器;操作如下:1:(小程序内向中端服...

.net实现QQ邮箱发送邮件功能

1、微软已经帮我们封装好了发送邮件的类MailMessage,MailMessage类构造一些邮件信息,然后通过SmtpClient进行邮件发送。Mai...

StackExchange.Redis操作redis(net core支持)

官方git开源地址https://github.com/StackExchange/StackExchange.Redis官方文档在docs里边都是官方的文档通过nuget命令下...

windows 自带的netsh进行端口映射

使用netsh 把本地任意ip的25566端口 映射到192.168.81.234的25565端口netshinterfaceportproxyaddv4tov4listenaddress=0.0....

确保.net程序始终以管理员身份运行

usingSystem; usingSystem.Collections.Generic; usingSystem.Linq; usingSystem.Text; usingSystem.Threading.Tasks; ...

ASP.net Timer细节处理

Timer的用法:1:本人称之为计时器,是asp.net官方的一种。用法即是计时所用 2:关于计时有很多中方式,本人学识有限,暂...

.net core 使用session

tip:net core 2.2后可以直接启用session了,不用在自己添加一次session依赖,本身就添加了使用nuget添加引用Microsoft.AspN...