在双引号之间嵌入ContentPlaceHolder

时间:2009-05-01 17:58:26

标签: asp.net-mvc contentplaceholder

我正在使用.NET MVC,在视图页面中,我设置了一个contentplaceholder,其中包含要在母版页上使用的ID,如下所示:

查看页面:

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

母版页:

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

因此,在这种特殊情况下,body标签将在最终的HTML页面上呈现如下:

<body id='LmpDemoRequests'>

我想在body id标签周围加双引号,但是如下所示反转引号会使intellisense无法找到contentplaceholder,在编译时会给我很多警告。

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

有什么方法吗?

3 个答案:

答案 0 :(得分:1)

这是ASP.NET编辑器的一个问题。它不是MVC特有的。我认为解决方法非常好,我没有看到特定的缺点。

答案 1 :(得分:0)

不确定我是否误解了您的问题,但您也可以添加:

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

然后在您的网页上访问

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

我希望我理解你的正确。

答案 2 :(得分:0)

尝试将BodyID声明为MasterPage的属性。在“查看”页面中设置其值。然后你可以做类似的事情 <html> <body='<%= BodyID %>'> </body </html>