私の目標は、子ページの要素のクラスを定義できるようにすることです。私のマスターページに、私は以下の持っている:このContentPlaceHolderの動作を理解できるはずですか?
<body class="<myown:AttributePlaceHolder runat="server" ID="BodyCssClass"/>">
AttributePlaceHolder
がContentPlaceHolder
から派生して、ちょうどその内容から任意の改行と余分な空白を除去します。私が説明する問題は、を通常のContentPlaceHolder
に変更した場合にも発生します。
Cannot find ContentPlaceHolder 'BodyCssClass' in the master page '/Views/Shared/Site.Master', verify content control's ContentPlaceHolderID attribute in the content page
に上記のコード行を変更:それはありません
<body class="<% %><myown:AttributePlaceHolder runat="server" ID="BodyCssClass"/>">
(追加された<% %>
に注意してください)。
私はここで何かを逃しているのかというだけのことです。
ちょうど私が書くことができます私の子ページ内の余分な情報、ために:
<asp:Content ContentPlaceHolderID="BodyCssClass" runat="server">profile-edit someotherclass another-class</asp:Content>
かさえ:
<asp:Content ContentPlaceHolderID="BodyCssClass" runat="server">profile-edit
someotherclass
another-class
</asp:Content>
、それがうまくとしてプリントアウトされます。
<body class="profile-edit someotherclass another-class">
po Johanによって次のように動作します。
<body class='<myown:AttributePlaceHolder runat="server" ID="BodyCssClass"/>'>
二重引用符を単一のものに変更します。
しかし、私のHTMLよりも一重引用符で表示されます。私を狂っていると呼びますが、それはちょうど私を傷つけます...
私はそれがバグまたは "機能"と呼ぶべきである場合、ASP.NET解析エンジンと関係があると思いますか?
一重引用符の位置は変更できませんでしたか?
–本当にうまくいくはずです。それはあなたが "dohhh"に行くそれらの1つです。 とにかくまだその動作を説明していません。 – Gidon
いいえ、すぐにそれは本当に意味をなさないが、あなたがそれについて考えるならば、別の二重引用符のペアの中に二重引用符があったときに、引用符をつけるためにそれらをエスケープしたり変更したりすることなく動作しましたか?ですから、それは意味がありますが、別のやり方ではありません。 –