Razor 部分页面
最近在和师父一起打野,后台要求挺多的。后台还是用的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)"> 查看详情</a>';
return btn;
}
},
]]
});
Razor 部分页面的更多相关文章
- MVC学习五:Razor布局页面 _ViewStart.cshtml
如图: _ViewStart.cshtml就是MVC中的布局页面/模板页面. 用户访问流程图: 原理:先去执行Views文件夹下[_ViewStart.cshtml]页面,然后同级目录文件夹(上图中的 ...
- 学习ASP.NET Core Razor 编程系列四——Asp.Net Core Razor列表模板页面
学习ASP.NET Core Razor 编程系列目录 学习ASP.NET Core Razor 编程系列一 学习ASP.NET Core Razor 编程系列二——添加一个实体 学习ASP.NET ...
- 学习ASP.NET Core Razor 编程系列五——Asp.Net Core Razor新建模板页面
学习ASP.NET Core Razor 编程系列目录 学习ASP.NET Core Razor 编程系列一 学习ASP.NET Core Razor 编程系列二——添加一个实体 学习ASP.NET ...
- Razor的主版页面框架
类似于2.0版本中的MasterPage主版页面框架,不过mvc3.0推出的RazorView内建的主版页面语法与原本的webFormview的MasterPage相差甚远 1,Razor的页面执 ...
- C#中的函数式编程:递归与纯函数(二) 学习ASP.NET Core Razor 编程系列四——Asp.Net Core Razor列表模板页面
C#中的函数式编程:递归与纯函数(二) 在序言中,我们提到函数式编程的两大特征:无副作用.函数是第一公民.现在,我们先来深入第一个特征:无副作用. 无副作用是通过引用透明(Referential ...
- ASP.NET MVC 5 Web编程4 -- Razor视图引擎
Razor简介 Razor是ASP.NET新增的一个视图引擎,由微软全球最年轻的副总裁,有着"ASP.NET之父"称呼的Scott Guthrie主导的团队开发. 主导Razor开 ...
- Razor基础语法简介
http://blog.csdn.net/pasic/article/details/7072340 Razor的出现,使页面看起更加简洁,Razor的页面后缀为:.cshtml Razor基础语法: ...
- ASP.NET MVC Razor视图引擎攻略
--引子 看下面一段MVC 2.0的代码. <%if (Model != null){%> <p><%=Model%></p><%}%>&l ...
- MVC小系列(十)【PartialView中的页面重定向】
在mvc的每个Action中,都可以指定一种返回页面的类型,可以是ActionResult,这表示返回的页面为View或者是一个PartialView, 在以Aspx为页面引擎时,PartialVie ...
随机推荐
- 如何让浏览器在访问链接时不要带上referer
function open_without_referrer(link){ document.body.appendChild(document.createElement('iframe')).sr ...
- 基于Bootstrap的遮罩层,带有加载提示
1.body中的html <div class="modal fade" id="loadingModal"> <div style=&quo ...
- ASP.NET创建三层架构图解详细教程
1.新建项目 2.创建Visual Studio解决方案 3.再创建项目 4.选择类库类型 5.依次创建bll(业务逻辑层),dal(数据访问层)和model(模型层也可以叫实体层) 6.添加一个网站 ...
- 移动端1px边框问题
用于手机端受dpr的影响,实际开发中,PC端和移动端展示的效果不太一样,往往在PC端显示的是1px,移动端常常是偏粗一些. 解决办法: 主要是用到伪类及缩放.在需要画边框的元素上,设置一个伪类,它的伪 ...
- 让ie8、ie9支持媒体查询
<!-- 让IE8/9支持媒体查询,从而兼容栅格 --> <!--[if lt IE 9]> <script src="https://cdn.staticfi ...
- Fragment+ViewPager实现仿微信点击和滑动切换界面
这是在我写的新闻App中实现的界面切换 贴出切换界面的主要代码: xml代码: <span style="font-size:14px;"> <android.s ...
- Codeforces 713C Sonya and Problem Wihtout a Legend DP
C. Sonya and Problem Wihtout a Legend time limit per test 5 seconds memory limit per test 256 megaby ...
- 2015/8/9 到家了,学完了CodeCademy的Python
昨天坐了20多个小时的硬座回家.发现在网络信号差的火车上也是学习的好地方.如果你的手机电量不足的话,带上两本书简直是绝配.我在火车上阅读了两百多页的内容,并没有多大的疲累,那样无聊的环境里面能看书学习 ...
- C11简洁之道:lambda表达式
1. 定义 lambda表达式是C++11非常重要也是很常用的特性之一,来源于函数式编程的概念,也是现代编程语言的一个特点.它有如下特点: 声明式编程风格:就地匿名定义目标函数或者函数,不需要额外写 ...
- jquery ajax的知识点
jquery中的ajax方法参数总是记不住,这里记录一下. 1.url: 要求为String类型的参数,(默认为当前页地址)发送请求的地址. 2.type: 要求为String类型的参数,请求方式(p ...