MVC3ページにメタ情報を追加する推奨方法があるかどうか教えてもらえますか?私が追加したい情報の種類は、タイトル、説明、キーワードです。MVC3ページにメタ記述とタイトルを追加するにはどうすればよいですか?
おかげで、
ジェンマ
MVC3ページにメタ情報を追加する推奨方法があるかどうか教えてもらえますか?私が追加したい情報の種類は、タイトル、説明、キーワードです。MVC3ページにメタ記述とタイトルを追加するにはどうすればよいですか?
おかげで、
ジェンマ
- あなたが呼び出すことができますそのように:あなたのさまざまなレイアウトの中から
@{Html.RenderAction("Head", "Header");}
をし、同じ正しいヘッダデータを持っていますレンダリングされる。
HTH
は通常、マスターページでは、我々はContentPlaceHolder
コントロールを入れ、このようなTitleContent
それを呼び出す:
<head>
<title>
<asp:ContentPlaceHolder ID="TitleContent" runat="server" />
</title>
</head>
と子供のページで:
<asp:Content ID="Content1" ContentPlaceHolderID="TitleContent" runat="server">
Some Title
</asp:Content>
に同じことをすることができますメタタグの場合は、HeadContent
のContentPlaceHolderを作成し、各ページの(title/meta ...)を個別に記入してください。
タイトルにはViewBag
、その他のヘッドコンテンツにはRenderSection
を使用します。これは、マスターレイアウトファイル(_Layout.cshtml)に行く:あなたの個々のビューで
<head>
<title>@ViewBag.Title</title>
@RenderSection("head", false);
</head>
、あなたが追加されます:
@{
ViewBag.Title = "My Page Title";
}
@section head {
<meta name="description" content="best site ever">
}
EDIT:@section head {...}
ブロックがオプションであることを
注意。このブロックを省略すると、コンパイルエラーは発生しません。メタデータを表示するビューで、それを指定します。
HTMLのHEADタグ内にメタタグを配置する必要があります。 MVCアプリケーションの場合、HEADがあるかどうかによって異なります。これは、レイアウト(Layout.cshtml)のページ(* .cshmtl)でもかまいません。メタ情報は残りのページを通して共有されるので、レイアウトに配置する方がはるかに優れています。
質問はMVCアプリケーションで、WebFormsアプリケーションではありません –
はい、MVCです。私は本格的なMVCプロジェクトを持っており、その中で上記の構文を使用しています。 OPは彼が剃刀を使用しているとは特定しなかった。 –
@alexanderb asp.net WebForms Viewエンジンはmvcで簡単に使用でき、GemmaがWebフォームビューエンジンを使用する場合は答えが良いです。私はあなたが何について不平を言っているのか理解していない – archil