akjarjash 发表于 2020-7-9 19:04

ASP.NET MVC5 布局页面的变量

在 ASP.NET MVC5 中使用布局页进行布局,但是布局页中涉及到的变量例如一个网站公共的标题、菜单等公共数据如何设置

jiujiukeji 发表于 2020-7-9 20:00

定义公共的头   导航   以及底部页面   通过控制器 引入到模板层

天星轮回 发表于 2020-7-11 10:46

一般来说,在布局页面会使用这个变量,比如:
<tilte>@ViewBag.Title</title>这个一般在_Layout.cshtml里面,也就是你说的模版页。
然后在具体的业务页面(Body)最上方,、
@{
Layout = "~/Views/Shared/_Layout.cshtml"; //这个是使用模版页,一般新建页面默认就有
ViewBag.Title="这个是赋值"//这个就是标题,新建页面一般也会有,修改这个就会修改标题
//如果有其他需要在模版页显示,在具体Body页面修改的变量,也可以这样处理
}
大概是这个意思,不知道有没有理解错你的问题。
我记得,新建项目的时候,初始页面应该就有这些内容了,你可以看下

akjarjash 发表于 2020-7-14 12:07

天星轮回 发表于 2020-7-11 10:46
一般来说,在布局页面会使用这个变量,比如:
@ViewBag.Title这个一般在_Layout.cshtml里面,也就是你说的 ...

嗯嗯,解决了 其实公共的模板可以直接书写 C# 代码查询数据然后视图中的变量用的控制器中返回的数据,那公共的布局页模板每次都查询感觉会比较浪费写,可能用些缓存等等更合适,不知道有没有更好的方法呢

akjarjash 发表于 2020-7-14 12:08

jiujiukeji 发表于 2020-7-9 20:00
定义公共的头   导航   以及底部页面   通过控制器 引入到模板层

好的,多谢 已经解决了 在公共布局模板页直接查询的 EF 数据

天星轮回 发表于 2020-7-26 10:11

akjarjash 发表于 2020-7-14 12:07
嗯嗯,解决了 其实公共的模板可以直接书写 C# 代码查询数据然后视图中的变量用的控制器中返回的数据,那 ...
每次刷新页面,页面数据都要刷新查询,这是必然的事情,一般很少针对这些数据去做优化。、
最多就是服务端这边,如果涉及到比较频繁的数据获取,会使用一下缓存。
在前端这边,使用的是http的资源缓存,页面数据一般不做缓存。
页: [1]
查看完整版本: ASP.NET MVC5 布局页面的变量