二重引用符の間にContentPlaceHolderを埋め込む
-
03-07-2019 - |
質問
.NET MVCを使用しています。ビューページ内で、マスターページで使用されるIDを含むcontentplaceholderを次のように設定します。
ページを表示:
<asp:Content ID="CDomBodyId" ContentPlaceHolderID="DomBodyId" runat="server">LmpDemoRequests</asp:Content>
マスターページ:
<body id='<asp:ContentPlaceHolder ID="DomBodyId" runat="server"></asp:ContentPlaceHolder>'>
この特定のケースでは、bodyタグは最終的なHTMLページで次のようにレンダリングされます。
<body id='LmpDemoRequests'>
body idタグを二重引用符で囲みたいのですが、次のように引用符を逆にすると、intellisenseがcontentplaceholderを見つけることができなくなり、コンパイル時に多くの警告が表示されます。
<body id="<asp:ContentPlaceHolder ID='DomBodyId' runat='server'></asp:ContentPlaceHolder>">
これを回避する方法はありますか?
解決
BodyIDをMasterPageのプロパティとして宣言してみてください。ビューページでその値を設定します。その後、次のようなことができます
<html>
<body='<%= BodyID %>'>
</body
</html>
他のヒント
これはASP.NETエディターの問題です。 MVCに固有のものではありません。回避策はかなり良いと思いますが、特定の欠点は見当たりません。
あなたの質問を誤解しているかどうかはわかりませんが、追加することもできます:
<body id="site" runat="server"></body>
次に、ページでアクセスします
HtmlControl body = (HtmlControl)Master.FindControl("site");
body.Attributes.Add("class", "LmpDemoRequests");
私はあなたのことを正しく理解したと思います。
所属していません StackOverflow