Incorporar conteúdo place sholder entre cotações duplas
-
03-07-2019 - |
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?
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.