MVC 3 为多文化网站构建动态元关键字元描述功能
我需要创建数据库驱动的元关键字/描述。我会将这些记录存储在数据库中,我认为是 xml 格式;因为它是针对每种文化的。
我该怎么做呢?
任何反馈、建议、帮助,非常感谢。 谢谢
I need to create db driven meta keywords/description. I would store these records in a database, xml format i presume; since it would be per culture.
How would i go about doing this?
any feedback, suggestions, help, greatly appreciated.
thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
您需要更改的只是对返回 keywork/description 的方法的调用。
您可以使用 Thread.CurrentThread.CurrentUICulture 来确定用户区域性。
您需要更改 web.config 以自动更改区域性。
前任。:
(Web.Config)
(控制器)
(视图)
What you need to change is just the call to method that returns the keywork/description
You can use Thread.CurrentThread.CurrentUICulture to determine the user culture.
You need to change at web.config to auto change the culture.
Ex.:
(Web.Config)
(Controller)
(View)
为所有模型对象创建一个父接口。您可以:
因此,在您的主视图中,您可以使用
希望它有帮助。
Make a parent interface for all your model objects. and you could have:
Thus in your master view you could use
Hope it helps.
Shane,
不久前我在这里回答了一个有点类似的问题。我没有涉及文化元素,但 fujiy 上面的答案在某种程度上涉及到这一点。此外,alexl 的界面对于松散类型的视图数据元素来说是一个更好的解决方案(根据我在类似问题中的回答)。不管怎样,这就是我“当天”对这个问题的回答:
用于搜索引擎优化的 MVC 和元标记
Shane,
I answered a somewhat similar question here on SO a while back. I didn't cover the cultural elements, but fujiy's answer above goes towards that in a way. Also, alexl's interface is a FAR better solution to loose typed viewdata elements (as per my answer in the similar question). anyway, here's what i answered 'on the day' for that question:
MVC and Meta Tags for Search Engine Optimization
1 - 在控制器中获取关键字/描述(来自模型)
2 - 将它们分配给 Viewbag 属性
3 - 在布局(或视图)中显示 viewbag 属性
,或者
使用关键字/描述分配模型,并将其作为控制器中的参数提供给视图。
关于文化:
您只需将其作为参数放入您的方法控制器(以及您的路由中)即可。
之后,您必须将此参数提供给检索关键字/描述的方法。
1 - Get keywords/description (from your Model) in your controller
2 - Assign them to a Viewbag property
3 - Display the viewbag property in your layout (or view)
OR
Assign your model with keywords/description and give it to your view as a parameter in your controller.
About the culture :
You just have to put it as a parameter in your method controller (and in your route).
After that, you have to give this parameter to your method retrieving keywords/description.