MVC 3 为多元文化网站构建动态元关键字元描述功能

Posted

技术标签:

【中文标题】MVC 3 为多元文化网站构建动态元关键字元描述功能【英文标题】:MVC 3 building dynamic meta keywords meta description functionality for multi-culture site 【发布时间】:2011-02-10 07:09:51 【问题描述】:

我需要创建数据库驱动的元关键字/描述。我会将这些记录存储在数据库中,我认为是 xml 格式;因为这将是每种文化。

我该怎么做呢?

任何反馈、建议、帮助,非常感谢。 谢谢

【问题讨论】:

【参考方案1】:

你需要改变的只是对返回keywork/description的方法的调用

您可以使用 Thread.CurrentThread.CurrentUICulture 来确定用户文化。

您需要在 web.config 中进行更改以自动更改文化。

例如: (Web.Config)

<globalization uiCulture="auto" culture="auto" />

(控制器)

ViewBag.Description = GetDescription(pageId, Thread.CurrentThread.CurrentUICulture.Name)

(查看)

<meta name="description" content="@ViewBag.Description ">

【讨论】:

+1 - 与 alexl 的方法组合使用,你会有一个非常好的通用方法 你能给我一些关于将这些记录存储在数据库中的信息吗?会是xml吗?还是每种语言 => 每条记录?谢谢 这是一个实现细节,但可以是一个包含 5 列的表:Id(PK)、PageId、CultureName、关键字和描述。 PageId 取决于您管理页面的方式。如果您有 CMS,则可以是您页面的 Url 或 Id【参考方案2】:

为所有模型对象创建一个父接口。你可以:

public interface IBaseMasterViewDto

    int PageId  get; set; 
    string Title  get; set; 
    string MetaKeywords  get; set; 
    string MetaDescription  get; set; 

因此,在您的主视图中,您可以使用

<%@ Master Language="C#" Inherits="System.Web.Mvc.ViewMasterPage<IBaseMasterViewDto>" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">

  <head>
    <title><%: Model.Title %></title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <meta name="keywords" content="<%: Model.MetaKeywords %>" />
    <meta name="description" content="<%: Model.MetaDescription %>" />

希望对你有帮助。

【讨论】:

+1 alex - 我自己使用非常相似的方法。这个 plas fujiy 的答案的结合将是两者中最好的。【参考方案3】:

肖恩,

不久前,我在这里回答了一个类似的问题。我没有涵盖文化元素,但上面 fujiy 的回答在某种程度上是这样的。此外,alexl 的界面是松散类型视图数据元素的更好解决方案(根据我在类似问题中的回答)。无论如何,这就是我对那个问题的“当天”回答:

MVC and Meta Tags for Search Engine Optimization

【讨论】:

【参考方案4】:

1 - 在您的控制器中获取关键字/描述(来自您的模型) 2 - 将它们分配给 Viewbag 属性 3 - 在布局(或视图)中显示 viewbag 属性

为您的模型分配关键字/描述,并将其作为控制器中的参数提供给您的视图。

关于文化: 您只需将其作为参数放入您的方法控制器(以及您的路线)中。 之后,您必须将此参数提供给检索关键字/描述的方法。

【讨论】:

以上是关于MVC 3 为多元文化网站构建动态元关键字元描述功能的主要内容,如果未能解决你的问题,请参考以下文章

多项式08——多元多项式和对称多项式

matlab解多元方程组?谢谢六元方程组

元标签;一些简短的问题

什么运算符一定要重载友元函数,什么时候一定要重载为成员函数?

元模型和 Persistence.xml 文件

PHP 将文本转换为元关键字