Pergunta

Estou usando o .NET MVC e, nas páginas de exibição, defino um detentor de conteúdo que contém um ID para ser usado na página mestre como assim:

Ver pagina:

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

Pagina principal:

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

Portanto, neste caso em particular, a etiqueta corporal renderizaria assim na página final HTML:

<body id='LmpDemoRequests'>

Eu gostaria de ter citações duplas em torno da etiqueta de identificação do corpo, mas inverter as citações como as seguintes torna o IntelliSense incapaz de encontrar o detentor do conteúdo, me dando muitos avisos quando compilar.

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

Existe alguma maneira de contornar isso?

Foi útil?

Solução

Tente declarar o BodyId como uma propriedade de sua página master. Defina seu valor nas páginas de visualização. Então você pode fazer algo como <html> <body='<%= BodyID %>'> </body </html>

Outras dicas

Este é um problema com o ASP.NET Editor. Não é específico para o MVC. Eu acho que a solução alternativa é muito boa e não vejo uma desvantagem específica.

Não tenho certeza se eu entendi mal sua pergunta, mas você também pode adicionar:

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

E depois acesse -o na sua página

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

Espero ter entendido você corretamente.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top