问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

ASP.NET MVC3 Razor 布局页和分部页 使用model

发布网友 发布时间:2022-05-12 07:13

我来回答

4个回答

懂视网 时间:2022-04-21 08:44

启用页面缓存


在MVC3中如果要启用页面缓存,需要在页面对应的Action前面加上一个OutputCache属性。

@{ ViewBag.Title = "主页";} 页面缓存	现在时间:@DateTime.Now.ToString("T")

在Controller中添加对应的Action,并加上OutputCache属性。

[OutputCache(Duration=5, VaryByParam="none")] public ActionResult Index() {  return View(); }

刷新页面即可看到页面做了一个10s的缓存。当页面中数据不是需要时时的呈现给用户时,这样的页面缓存可以减小时时的对数据处理和请求,当然这是针对整个页面做的缓存,缓存的力度还是比较粗的。


缓存的位置


可以通过设置缓存的Location属性,决定将缓存放置在何处。

Location可以设置的属性为(Any Client Downstream Server None ServerAndClient)

Location的默认值为Any。一般推荐将用户的信息存储在Client端,一些公用的信息存储在Server端。

加上Location应该是这样的。

[OutputCache(Duration=5, VaryByParam="none",Location=OutputCacheLocation.Client ,NoStore=true)] public ActionResult Index() {  return View(); }

配置文件中通用设置


当我们需要对多个Action进行统一的设置时,可以在web.config文件中统一配置后进行应用即可。

在web.config中配置下Caching节点

   

那么在Action上使用该配置节点即可,这样的方法对于统一管理配置信息比较方便。

[OutputCache(CacheProfile="Cache1Hour")] public ActionResult Index() {  return View(); }

热心网友 时间:2022-04-21 05:52

asp.net MVC 4.0中总结 视图里加载布局页和分部页几种方法
@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>

@RenderPartial()
将分布视图直接写入响应输出流,所以只能直接放在代码块中,不能放在表达式中(返回值是void)
RenderPartial 不需要创建 Controller 的 Action ,而 RenderAction 需要在 Controller创建要加载的 Action。 RenderAction 会先去调用 Contorller 的 Action ,最后再 呈现视图,所以这里 页面会在 发起一个链接。 如果这个部分视图只是一些简单 的 html 代码,请使用 RenderPartial。 但如果这个部分视图 除了有 html 代码外,还需要 通过 读取数据库里的数据 来渲染,就必须使用 RenderAction 了,因为 它可以在 Action 里调用 Model里的 法读取数据库,渲染视图后在呈现,而 RenderPartial 没有 Action,所以无法做到。
Partial 可以直接输出内容,它内部是 将 html 内容转换为 string 字符(MVCHtmlString),然后缓存起来, 最后在一次性输出到页面。显然,这个转换的过程,会降低效率,所以通常使用 RenderPartial 代替。

@Html.Action()

热心网友 时间:2022-04-21 07:10

@Html.RenderPartial("_Partial", MainMenuList);

在加载分布页时,第2个参数即是分部页绑定的模型实体..你强制指定一个,否则,会自定把页面绑定的模型指定为分部页的绑定模型

热心网友 时间:2022-04-21 08:44

参*:人生重要的不是所站的位置,而是所朝的方向。
在asp.net mvc3 布局中文件中 @RenderBody()是其他页面内容显示的位置...

RenderBody()一般用于母版业公共部分使用,即你的网站如果头和脚的部分都是一样的,在母版页中使用@RenderBody()就可以了。在MVC3中,Razor引擎中是没有“母版页”,改叫了“布局”页面,_layout.cshtml。存放在共享视图文件夹中,叫Shard文件夹。然后你新创建的视图内容会通过布局页面的@RenderBody()...

ASP.NET的版本现在有哪几个,之间有什么区别?

在ASP.NET MVC3 中,增加视图的对话框中允许你选择你希望的视图引擎,在新建项目对话框中,你可以指定项目默认的视图引擎,可以选择 WebForm,Razor,或者开源的视图引擎,例如:Spark, NHaml, 或者 NDjango.控制器的改进全局的 Action 过滤器有的时候你希望能够在在一个 Action 方法执行之前或者执行之后执行一些处理逻辑,...

ASP.NET Web Pages究竟是一种怎样的存在?

Web Pages就是原来内置于MVC3里面的Razor的剥离。理论上来说,http://ASP.NET可以选择两种框架模型,基于页面 或者 基于MVC 基于页面可以选择 WebForm 作为表现层,也可以选择 WebPages 作为表现层。同样的,基于MVC也有这两种视图引擎。其实说白了,表现层是可以独立于下面的框架模型的,所以两两组合后...

razor aspx哪个好

Razor 是一种用于ASP.NET Web开发的模板引擎,它允许开发者使用混合的C#和HTML代码来创建动态网页。其优势在于:简洁的语法:Razor 语法简洁直观,易于学习和使用。强大的功能:支持MVC架构,有助于实现网页的逻辑与表现的分离,有利于代码的维护和复用。与ASP.NET 紧密结合:作为ASP.NET的一部分,Razor ...

程序员应该选择java还是c#?

wpf中在xaml中布局控件,并支持INotifyPropertyChanged接口,可以非常容易的实现界面和数据分离,做出一个mvvm模型出来。 说到标记性语言,我们看看jsp的jstl、struts2的tags,还有asp.netmvc3之后的razor引擎: jstl和aspx的标签类似,自由、强大,可以很容易的穿插交织到html标记中; struts的标签就是个另类,我个人反感这种既不...

ASP.NET MVC 中 @Scripts.Render("~/bundles/jquery") 什么意思?_百度...

MVC3的Razor视图把。。符号就相当于表示代码块的&lt;%%&gt;,这样说之后你明白了不。。建议你补习下前两个版本的MVC

.cshtml文件是什么文件?

只能在 MVC3 或更高版本等支持 Razor 的框架里使用 cshtml。ASPX简介:ASPX文件是微软的在服务器端运行的动态网页文件,通过IIS解析执行后可以得到动态页面,是微软推出的一种新的网络编程方法,而不是ASP的简单升级,因为它的编程方法和ASP有很大的不同,他是在服务器端靠服务器编译执行的程序代码,ASP...

如何在asp.net的MVC 3剃须刀声明局部变量

{ var local="局部变量";} @local

对mvc3 razor的理解与概念

Razor和ASPX(WebForm),都是一种前端页面的引擎,你只要知道和aspx是一回事就行了。相比aspx这种引擎来说编写代码更简练更方便而已。

typescriptd.ts

ASP.NETCore是一个用于构建网页的框架。ASP.NETCore基于MVC架构,并提供用于构建Web的通用库。开始使用ASP.NETCoreRazor是一个使用C#和TypeScript构建动态网页的新框架。vue3typescript没有提示将Vue项目的tsconfig.json文件中的strict选项设置为true,这将启用TypeScript的所有严格类型检查。在你的Vue组件或...

绝对布局和相对布局 网页网页的布局一般为 网页的布局一般用什么来实现 ASP.NET net framework 网页布局的三种方式 网页布局有哪几种 网页布局的方法 div布局
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
梦见很多生疏人在一同 工地的建筑标高和结构标高有什么不同 十指合一是什么意思? ...墙面抹灰高度是按结构标高还是建筑标高? 柱面抹灰高度是按结构标高还... 吃干的东西吞咽困难是怎么回事 戒指带十指是什么意思? 荣耀畅玩8C具体是10月11日发布,10月16日开卖吗? 奇骏咱们的车(2.0)的,多少公里该换火花塞了?换那个牌子好。 离婚了,前夫家离给我打电话说嫂嫂去世了,我该不该回去? 笔记本的i3 370M 台式机I3 530性能差距有多少? 想给自家4个月大的猫咪做体内外的驱虫,该选哪种驱虫药? asp.net mvc3如何自定义路由 关于ASP.net MVC3 的开发问题. asp.net 有编程经验的来帮下我,我初学asp.net,问些基础知识。 ASP.NET MVC3可以不使用EF吗? ASP.NET MVC3 数据库操作 ASP.NET MVC3中如何创建文件夹 我开始学c# asp.net mvc3 不知道在哪下手,现在学的很乱 asp.net MVC3教程 .NET(利用ASP.NET MVC3)开发相关问题(初学者,请见谅)!求助!!! 旁观者开襟毛衣在哪 燕尾服的款式设计的开襟毛衣适合宴会穿吗? 女性公务员60岁退休的条件 女性高职60岁退休单位让签承诺书合理吗? 鞋店取名。 女六级职员60岁退休吗 满足和印迹哪个适合做鞋店名 女公务员可以60岁退休吗 男孩,2009年1月6号20点58分出生,姓江,取啥名字好? 马年江姓宝宝阴历6月14日早上7:54出生的男宝宝如何起名 关于ASP.NET MVC3的问题, 在线等 如何在电脑上播放用手机迅雷看看下载的影片 用手机迅雷下的视频怎么在电脑上放 四个月多猫吃了驱虫药,多久可以吃饭? 怎么将手机迅雷看看下载的视频在电脑上播放 几个月大的猫咪才能驱虫体内 小猫几个月做驱虫 小猫体内驱虫多大开始 请你细细斟酌为盼是什么意思? 百度提醒您:在使用百度搜索引擎(以下简称百度)前,请您务必仔细阅读并透彻理解 请你仔细观察家乡的风景,选取最突出的一点,写一段话,注意使用多种表达方式,150字左右 请你仔细观察某种景物的变化过程然后把所见所闻描写出来 请你仔细观察身边的一个人选择他给你留下的印象最深的一件事来写一篇作写五十 请您仔细说说。订金和定金的。区别。万分感谢。我还想知道,我去和中介谈。我应该怎么说呢? 请你仔细回忆发生在自己身边的事情,采撷点滴小事,表达自己的某种感情.500字 请您仔细的给我讲讲这道题怎样做(负零点零二)乘(负二十)乘(负五)乘四点五 请你仔细观察一种植物在春夏秋冬四季中写出它在任意两个季节中的特点 英语翻译 请你仔细检查拉锁,你可以维修或者更换,如果不能解决问题,我会为你发送新的, 满清&quot;奇&quot;案:父告子不孝,县令却喊来个剃头匠:为什么要打你个不孝子呢? 请你仔细观察生活中的人和事,用新闻特写的描写手法一