加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

ASP.NET MVC 3:主模板的ViewModel?

发布时间:2020-12-16 10:00:18 所属栏目:asp.Net 来源:网络整理
导读:当我创建我的第一个空的MVC 3项目时,这是/Views/Shared/_Layout.cshtml文件的内容: !DOCTYPE htmlhtmlhead meta charset="utf-8" / title@ViewBag.Title/title link href="@Url.Content("~/Content/Site.css")" rel="stylesheet" type="text/css" / script
当我创建我的第一个空的MVC 3项目时,这是/Views/Shared/_Layout.cshtml文件的内容:

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <title>@ViewBag.Title</title>
    <link href="@Url.Content("~/Content/Site.css")" rel="stylesheet" type="text/css" />
    <script src="@Url.Content("~/Scripts/jquery-1.5.1.min.js")" type="text/javascript"></script>
    <script src="@Url.Content("~/Scripts/modernizr-1.7.min.js")" type="text/javascript"></script>
</head>

<body>
    @RenderBody()
</body>
</html>

我注意到的第一件事是< title> @ ViewBag.Title< / title>.我想做的最后一件事是使用动态“ViewBag”而不是强类型的ViewModel.

如何更改_Layout.cshtml以使主模板使用强类型的ViewModel?

解决方法

您可以轻松使用@model来定义模型类型,但谁将设置母版页的模型或创建它?控制器处理其自己的视图,并且主页的模型将根据在每个控制器中创建的模型而不同.

因此,您可能希望将传递给视图的所有模型从具有母版页所需属性的基础模型类继承,并使母版页具有基本类型作为模型类型,但它太难看了.

我建议使用它来处理像标题这样的简单案例,如果你发现你在那里做了很多东西,有你自己的控制器,动作和视图来执行共享部分,并调用Html.RenderAction()in获取执行的母版页.

http://gurustop.net

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读