Domanda

Sto usando .NET MVC e nelle pagine di visualizzazione ho impostato un contentplaceholder che contiene un ID da utilizzare sulla pagina principale in questo modo:

Visualizza pagina:

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

Pagina principale:

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

Quindi, in questo caso particolare, il tag body verrebbe visualizzato in questo modo nella pagina HTML finale:

<body id='LmpDemoRequests'>

Vorrei avere le virgolette doppie attorno al tag id del corpo, ma capovolgendo le virgolette come le seguenti non si riesce a trovare l'intellettuale il contentplaceholder, dandomi un sacco di avvertimenti durante la compilazione.

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

C'è un modo per aggirare questo?

È stato utile?

Soluzione

Prova a dichiarare BodyID come proprietà della tua MasterPage. Imposta il suo valore nelle pagine Visualizza. Quindi puoi fare qualcosa del genere <html> <body='<%= BodyID %>'> </body </html>

Altri suggerimenti

Questo è un problema con l'editor ASP.NET. Non è specifico per MVC. Penso che la soluzione alternativa sia abbastanza buona e non vedo uno svantaggio specifico.

Non sono sicuro di aver frainteso la tua domanda, ma puoi anche aggiungere:

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

E quindi accedervi dalla tua pagina

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

Spero di aver capito bene.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top