asp.netmvc中的视图生成实例分析_6.pdf

  1. 1、本文档共3页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
本文实例分析了 asp.net mvc 中的视图生成过程。分享给大家供大家参考。具体如下: 在 asp.net mvc 中,我们将前端的呈现划分为三个独立的部分来实现, controller 用来 控制用户的操作, view 用来控制呈现的内容, model 用来表示处理的数据。 从控制器到视图 通常,在 controller 中,我们定义多个 action ,每个 action 的返回类型一般是 actionresult ,在 action 处理的最后,我们返回对于视图的调用。 复制代码 代码如下 :public actionresult index() { return this.view(); } 默认情况下,将会调用与 action 同名的视图,比如,在上面的 action 中,将会使用名 为 index 的视图。 如果我们传递了一个字符串参数,那么, 这个字符串就回被视为视图的名称, 例如,我 们希望使用名为 indexview 的视图进行呈现,那么,可以如下完成。 复制代码 代码如下 :public actionresult index() { return this.view(indexview); } 布局与视图 mvc 会直接去找我们的视图吗?不会! 从 action 返回之后,首先, mvc 会在 views 文件夹下查看是否存在一个名为 _viewstart.cshtml 的特殊文件,如果存在的话,就回执行这个文件。 默认情况下,这个文件的内容如下所示: 复制代码 代码如下 :@{ layout = ~/views/shared/_layout.cshtml; } 也就是说,它设置了我们的默认布局使用那一个文件文件。 布局等价于我们在 webform 中所使用的母版页。 如果没有这个文件,默认没有使用布局。 如果有了这个文件, 而我们在页面中不想使用这个布局怎么办呢?很简单, 在页面中设 置 layout = null 来覆盖掉它。 复制代码 代码如下 :@{ layout = null; } 布局中的分区 在布局页面中,默认就回存在一个特殊的指令 @renderbody() ,这是说,你在内容页面 中呈现的内容, 将会在这里进行输出。 这就是在使用布局之后, 你会发现你的视图中已经没 有了 <html> 标记的原因。 复制代码 代码如下 :<body> @renderbody() </body> 假如说, 我们希望在布局中的多个位置进行输出, 比如,样式表通常在 <head> 标 记中, 而现代的脚本则会出现在页面的最后, 页面的内容当然出现在页面的主体中了。 这样 的话, 我们在内容页面的实际内容, 将会需要在布局的不同部分进行呈现, 而不是在同一个 位置进行呈现了。 解决的办法就是分区,实际上,类似于 webform 中的 contentplaceholder ,定义一个 命名的区域。 比如,下面我们定义了一个名为 scripts 的命名区域,第二个参数表示这个区域是可选 的区域,在内容页面中可以不用提供内容。 复制代码 代码如下 :<body

文档评论(0)

zhaojf9409 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档