是应该知道页面标题的是Model,View还是Controller?
选项1
使用模型存储页面标题(这使模型更像视图模型):
public class SomeModel
{
string Title { get; set; }
}
然后,视图可以简单地相应地设置标题
<title>@Model.Title</title>
选项2
视图知道自己的标题:
@{
ViewBag.Title = "Some Title";
}
在视图中的某个位置或使用的默认布局:
<title>@ViewBag.Title</title>
选项3
从控制器设置标题
ViewBag.Title = "Some Title"
然后从视图中使用它
<title>@ViewBag.Title</title>
最好的方法是哪一种(假设我在不同页面上有相同的布局)?
这取决于。如果您的所有标题都有些不同并且是静态的,那么在“知道”它的标题的每个视图中都不会出现问题。
但是,如果您需要模型中的信息来组成标题,则必须...错误...从模型中传递它,这并不是真的意味着您需要“ Title”属性,而是可以使用一些东西来自模型本身,例如ProductName或其他任何东西。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句