我正在搜索生成网页标题和提示的提示。来自服务器端的元标记并在页面中呈现。 我得到了这个技巧。
第一种方法是为所有模型对象创建父接口。你可以:
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 %>" />
如果MVC3中没有像母版页这样的概念,那么请指导我如何为布局页面实现上述代码或使上述代码与mvc3布局页面兼容。感谢
答案 0 :(得分:0)
如果没有像MVC3中的母版页这样的概念,那么请指导我如何为布局页面实现上述代码或使上述代码与mvc3布局页面兼容。
让我们首先尝试清除这里的概念。 ASP.NET MVC 3是一个服务器端框架,允许在实现MVC模式的ASP.NET之上开发Web应用程序。
它支持渲染标记的不同视图:
ASP.NET WebForms视图具有MasterPage文件(.master
)的概念。 Razor视图具有相同的名称Layouts(.cshtml
)。
因此,您可以在Razor布局文件中应用完全相同的概念:
@model 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" />
...