如何在 ASP.NET MVC 中传递页面的元标记?
最近几天我一直在使用 ASP.NET MVC,并且能够构建一个小型网站。 一切都很好。
现在,我需要通过 ViewData 传递页面的 META 标记(标题、描述、关键字等)。 (我正在使用母版页)。
你是怎么处理这件事的? 先感谢您。
I'm playing with ASP.NET MVC for the last few days and was able to build a small site. Everything works great.
Now, I need to pass the page's META tags (title, description, keywords, etc.) via the ViewData. (i'm using a master page).
How you're dealing with this? Thank you in advance.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
这是我目前正在做的...
在母版页中,我有一个带有默认标题、描述和关键字的内容占位符:
然后在页面中,您可以覆盖所有这些内容:
这应该给您一个想法如何设置。 现在,您可以将此信息放入 ViewData (ViewData["PageTitle"]) 中或将其包含在您的模型中(ViewData.Model.MetaDescription - 对于博客文章等有意义)并使其成为数据驱动的。
Here is how I am currently doing it...
In the masterpage, I have a content place holder with a default title, description and keywords:
And then in the page, you can override all this content:
This should give you an idea on how to set it up. Now you can put this information in your ViewData (ViewData["PageTitle"]) or include it in your model (ViewData.Model.MetaDescription - would make sense for blog posts, etc) and make it data driven.
将其放入您的视图数据中! 执行类似以下操作...
BaseViewData.cs - 这是一个所有其他 viewdata 类都将继承的 viewdata 类
然后您的 Site.Master (或其他)类应定义如下:
现在在您的 Site.Master 页面中只需具有
而你却笑了!
HTH,
查尔斯
·诗篇。 然后您可以扩展这个想法,例如将 User (IPrincipal) 类的 getter 放入 LoggedInBaseViewData 类中。
Put it in your viewdata! Do something like the following...
BaseViewData.cs - this is a viewdata class that all other viewdata classes will inherit from
Then your Site.Master (or whatever) class should be defined as follows:
Now in your Site.Master page simply have
And you're away laughing!
HTHs,
Charles
Ps. You can then expand on this idea, e.g. put a getter to your User (IPrincipal) Class into a LoggedInBaseViewData class.