質問

.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");

私はあなたのことを正しく理解したと思います。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top