最近在和师父一起打野,后台要求挺多的。后台还是用的EF和MVC5,页面使用的razor。

现在是发现好多的页面有太多重复的东西了。

比如说查询页面的字段,比如说列表页,比如说详情方法都有。

灵机一动,可不可以提出来呢?

事实证明可以的

这里需要利用razor的@Html.Partial

首先这个就是局部页面的意思,这里边包括了查询用的字段

然后发现列表页这些重复的就差一个url而已,列表项都一样的。那就想办法给url变成入参传过去。

方法一:

@Html.Partial("~/Views/Shared/App/_PartialReqQuery.cshtml", new ViewDataDictionary { { "url", @Url.Action("GetList") } })

这种是比较直接的获取的东西,一个参数或者参数比较少更适用。

方法二:

@*将查询条件作为部分页面,并传递参数*@
@{
ViewDataDictionary vdd = new ViewDataDictionary();
var url = @Url.Action("GetApplyedReqList") + "?QueryFlag=Applyed";
vdd.Add("url", url);
Html.RenderPartial("~/Views/Shared/App/_PartialReqQuery.cshtml", vdd);
}

这种方法可以传多个参数,适用多个入参的情况。这里额外介绍下,如果url是拼接出来的,直接这样写即可。

那么在部分页面中的使用方法是,借助ViewData方法来获取参数

var gridurl = '@Html.ViewData["url"]';
$('#List').datagrid({
url: gridurl,
width: SetGridWidthSub(),
method: 'post',
height: SetGridHeightSub(),
fitColumns: true,
sortName: 'CreateTime',
sortOrder: 'desc',
idField: 'Id',
pageSize: ,
pageList: [, , , , ],
pagination: true,
striped: true, //奇偶行是否区分
singleSelect: true,//单选模式
//rownumbers: true,//行号
columns: [[
{ field: 'Id', title: '主键', width: , hidden: true },
{ field: 'Title', title: '职位名称', width: , sortable: false },
{ field: 'Position', title: '职位类型', width: , sortable: false },
{ field: 'Country', title: '国家', width: , sortable: false },
{ field: 'Sex', title: '性别', width: , sortable: false },
{ field: 'AgeLimit', title: '年龄要求', width: , sortable: false },
{ field: 'YearSalary', title: '年收入', width: , sortable: false },
{ field: 'TotalHire', title: '招聘人数', width: , sortable: false },
{ field: 'Tag', title: '职位标签', width: , sortable: false },
{ field: 'TotalServiceMoney', title: '总服务费', width: , sortable: false },
{ field: 'PublishDate', title: '发布时间', width: , sortable: false },
{ field: 'ReqType', title: '类型', width: , hidden: true },
{
field: 'Ope', title: '操作', width: , formatter: function (value, row) {
var btn = '<a onclick="showDetails(\'' + row.Id + '\',\'' + row.Title + '\')" href="javascript:void(0)">&nbsp;查看详情</a>';
return btn;
}
},
]]
});

Razor 部分页面的更多相关文章

  1. MVC学习五:Razor布局页面 _ViewStart.cshtml

    如图: _ViewStart.cshtml就是MVC中的布局页面/模板页面. 用户访问流程图: 原理:先去执行Views文件夹下[_ViewStart.cshtml]页面,然后同级目录文件夹(上图中的 ...

  2. 学习ASP.NET Core Razor 编程系列四——Asp.Net Core Razor列表模板页面

    学习ASP.NET Core Razor 编程系列目录 学习ASP.NET Core Razor 编程系列一 学习ASP.NET Core Razor 编程系列二——添加一个实体 学习ASP.NET ...

  3. 学习ASP.NET Core Razor 编程系列五——Asp.Net Core Razor新建模板页面

    学习ASP.NET Core Razor 编程系列目录 学习ASP.NET Core Razor 编程系列一 学习ASP.NET Core Razor 编程系列二——添加一个实体 学习ASP.NET ...

  4. Razor的主版页面框架

    类似于2.0版本中的MasterPage主版页面框架,不过mvc3.0推出的RazorView内建的主版页面语法与原本的webFormview的MasterPage相差甚远   1,Razor的页面执 ...

  5. C#中的函数式编程:递归与纯函数(二) 学习ASP.NET Core Razor 编程系列四——Asp.Net Core Razor列表模板页面

    C#中的函数式编程:递归与纯函数(二)   在序言中,我们提到函数式编程的两大特征:无副作用.函数是第一公民.现在,我们先来深入第一个特征:无副作用. 无副作用是通过引用透明(Referential ...

  6. ASP.NET MVC 5 Web编程4 -- Razor视图引擎

    Razor简介 Razor是ASP.NET新增的一个视图引擎,由微软全球最年轻的副总裁,有着"ASP.NET之父"称呼的Scott Guthrie主导的团队开发. 主导Razor开 ...

  7. Razor基础语法简介

    http://blog.csdn.net/pasic/article/details/7072340 Razor的出现,使页面看起更加简洁,Razor的页面后缀为:.cshtml Razor基础语法: ...

  8. ASP.NET MVC Razor视图引擎攻略

    --引子 看下面一段MVC 2.0的代码. <%if (Model != null){%> <p><%=Model%></p><%}%>&l ...

  9. MVC小系列(十)【PartialView中的页面重定向】

    在mvc的每个Action中,都可以指定一种返回页面的类型,可以是ActionResult,这表示返回的页面为View或者是一个PartialView, 在以Aspx为页面引擎时,PartialVie ...

随机推荐

  1. 求前n项正整数的倒数和

    求前n项正整数的倒数和 前n项正整数的和是一个发散的序列,学过高等数学的这个都知道.所以它没有一个精确的公式,但是近似的公式是有的: 1 + 1/2 + 1/3 + …… + 1/n ≍ ln n + ...

  2. DBA操作常用命令

    一.ORACLE的启动和关闭   1.在单机环境下   要想启动或关闭ORACLE系统必须首先切换到ORACLE用户,如下   su - oracle      a.启动ORACLE系统   orac ...

  3. 转:PriorityQueue

    转自:PriorityQueue 本文github地址 Java中PriorityQueue通过二叉小顶堆实现,可以用一棵完全二叉树表示.本文从Queue接口函数出发,结合生动的图解,深入浅出地 分析 ...

  4. iOS-Apple苹果iPhone开发公开API

      iOS-Apple苹果iPhone开发 //技术博客http://www.cnblogs.com/ChenYilong/   新浪微博http://weibo.com/luohanchenyilo ...

  5. ubuntu tomcat的安装与配置

    一.下载jdk 大概是tomat大部分是由java写的, 所以一开始安装tomcat必须得配置好jdk http://www.oracle.com/technetwork/java/javase/do ...

  6. esp8266 IOT Demo 固件刷写记录

    将编译好的固件按照下面地址刷写到esp8266 出现下面错误是因为刷写的设置不对,按照图上设置: load 0x40100000, len 26828, room 16 tail 12chksum 0 ...

  7. Linux信号函数

    1. signal函数: #include <signal.h> void (*signal(int signo, void (*func)(int)))(int); ret-成功返回信号 ...

  8. Makefile parameters pass 參數傳遞

    command $make ARCH=7777777777777777777777777777777 Makefile content $(warning $(ARCH)) output Makefi ...

  9. monkey测试===monkeyrunner测试教程(1)

    1.安装测试环境 jdk 安装与配置 android sdk安装与配置 Python编辑器安装与配置 以上安装请自行百度教程 Monkeyrunner使用方法 http://www.android-d ...

  10. BZOJ 3771 生成函数,FFT

    Description 我们讲一个悲伤的故事. 从前有一个贫穷的樵夫在河边砍柴. 这时候河里出现了一个水神,夺过了他的斧头,说: “这把斧头,是不是你的?” 樵夫一看:“是啊是啊!” 水神把斧头扔在一 ...