Contentplaceholder用于替换属性?

时间:2010-11-10 23:02:43

标签: asp.net master-pages

下面的代码有效但混淆了Visual Studio。是否有其他/更好的方法来实现这一目标?

<body <asp:contentplaceholder id="BodyAttribute" runat="server"/>>

3 个答案:

答案 0 :(得分:1)

其他方式

<asp:contentplaceholder id="BodyAttribute" runat="server"><body></asp:contentplaceholder>

并在您输入的contentPlaceholder上

<body attr="whatever">

如果找不到占位符,则使用<body>

答案 1 :(得分:1)

我认为这样做不是一个好主意。

首先,使用ContentPlaceHolder,您可以轻松地使用<{> 1}} 属性中的换行符来结束HTML。

其次,代码将是一个完整的 spaghetti 。你将无法维护它。

第三,必须有更好的方式来完成你需要的东西。

例如,如果您需要为CSS样式目的更改id,或者在JavaScript中使用它,那么最好为此创建嵌套div。

站长:

body id

页:

<body>
  <!-- div wrapper for general styling purposes -->
  <div id="mainContentWrapper">
    <asp:contentplaceholder id="Maincontent" runat="server" />
  </div>
</body>

这将为您提供非常样式的HTML:

<asp:content contentplaceholderid="MainContent" runat="server">
  <!-- div wrapper for page specific styling -->
  <div id="pageSpecificIdForYourPuprose">
    Your content goes here
  </div>
</asp:content>

我真的会试图避免那些WebForms棘手的事情来完成简单的事情。简单的事情可以通过简单的方式完成(至少经常)。

希望有所帮助。

答案 2 :(得分:1)

你可以随时

<body id="body1" runat="server">

此页面显示了一个示例 - http://msdn.microsoft.com/en-us/library/zzk7dby1(vs.71).aspx

该示例基于.net 1.1,但我使用了类似的.net 2.0