Frage

Ich bin mit .NET MVC, und innerhalb der Ansicht Seiten stelle ich eine Content, die eine ID enthält auf der Masterseite verwendet werden sollte etwa so:

Seite anzeigen:

<asp:Content ID="CDomBodyId" ContentPlaceHolderID="DomBodyId" runat="server">LmpDemoRequests</asp:Content>

Master-Seite:

<body id='<asp:ContentPlaceHolder ID="DomBodyId" runat="server"></asp:ContentPlaceHolder>'>

So in diesem speziellen Fall der Körper Tag wie folgt auf der endgültigen HTML-Seite machen würde:

<body id='LmpDemoRequests'>

Ich möchte doppelte Anführungszeichen um den Körper-ID-Tag haben, aber wie die folgenden, die Anführungszeichen Invertierung macht Intellisense nicht in der Lage, die Content zu finden, die mir eine Menge Warnungen zu geben, wenn ich kompilieren.

<body id="<asp:ContentPlaceHolder ID='DomBodyId' runat='server'></asp:ContentPlaceHolder>">

Gibt es eine Möglichkeit, um dieses?

War es hilfreich?

Lösung

Versuchen BodyID als Eigentum Ihrer Master erklärt. Setzen Sie den Wert in den Ansichtsseiten. Dann können Sie etwas tun, wie <html> <body='<%= BodyID %>'> </body </html>

Andere Tipps

Dies ist ein Problem mit ASP.NET-Editor. Es ist nicht spezifisch für MVC. Ich denke, die Abhilfe ist ziemlich gut und ich sehe nicht, einen bestimmten Nachteil.

Nicht sicher, ob ich Ihre Frage falsch verstanden, aber Sie können auch hinzufügen:

<body id="site" runat="server"></body>

Und dann Zugriff auf Ihrer Seite

HtmlControl body = (HtmlControl)Master.FindControl("site");
body.Attributes.Add("class", "LmpDemoRequests");

Ich hoffe, dass ich verstehe Sie richtig.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top