我需要创建数据库驱动的元关键字/描述。我会将这些记录存储在数据库中,我假设是xml格式;因为这将是每种文化。
我将如何做到这一点?
任何反馈,建议,帮助,非常感谢。 感谢
答案 0 :(得分:5)
您需要更改的只是调用返回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 :(得分:4)
为所有模型对象创建父接口。你可以:
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 %>" />
希望它有所帮助。
答案 2 :(得分:1)
1 - 在控制器中获取关键字/描述(来自您的型号)
2 - 将它们分配给Viewbag属性
3 - 在布局(或视图)中显示viewbag属性
OR
为您的模型分配关键字/描述,并将其作为控制器中的参数提供给您的视图。
关于文化:
您只需将其作为参数放在方法控制器中(并在您的路线中)
之后,您必须将此参数提供给检索关键字/说明的方法。
答案 3 :(得分:1)
沙恩,
我在这里回答了一个类似的问题。我没有涵盖文化元素,但上面的fujiy的答案在某种程度上也是如此。此外,alexl的界面是松散类型的viewdata元素的FAR更好的解决方案(根据我在类似问题中的答案)。无论如何,这是我当天回答的问题&#39;对于那个问题: