Asp.net 如何在母版页上放置两次占位符?

Asp.net 如何在母版页上放置两次占位符?,asp.net,master-pages,contentplaceholder,Asp.net,Master Pages,Contentplaceholder,我有一个母版页,我想添加一个占位符两次-这样我在母版页的两个位置都有相同的占位符,所以实际页面只指定占位符的内容一次,而内容在结果页面上呈现两次。目标是避免内容重复 如果我尝试添加两次具有相同id的占位符,它将无法编译-ASP.NET不喜欢这样 我如何做到这一点?还有什么其他选择?我没有尝试过,但是您可以查找您感兴趣复制的占位符的内容,并将其复制到您的代码中。本帖: 对操纵母版页有很好的洞察力。我认为您可能正在寻找一个用户控件: 使用用户控件,您可以将标记和代码添加到.ascx中,然后在母版页

我有一个母版页,我想添加一个占位符两次-这样我在母版页的两个位置都有相同的占位符,所以实际页面只指定占位符的内容一次,而内容在结果页面上呈现两次。目标是避免内容重复

如果我尝试添加两次具有相同id的占位符,它将无法编译-ASP.NET不喜欢这样


我如何做到这一点?还有什么其他选择?

我没有尝试过,但是您可以查找您感兴趣复制的占位符的内容,并将其复制到您的代码中。本帖:


对操纵母版页有很好的洞察力。

我认为您可能正在寻找一个用户控件:


使用用户控件,您可以将标记和代码添加到
.ascx
中,然后在母版页/Web表单中多次调用,从而避免重复代码。

将占位符放置在
操作中,并在必要时调用它

<%
    Action myPlaceholder = () =>
    {%>
        <asp:ContentPlaceHolder ID="X" runat="server" />
    <%}
%>

{%>
…然后在需要时调用代码

<% if (conditionMet)
    myPlaceholder(); >%
%

错误发生在编译时:如果存在具有相同ID的占位符,则会提出投诉。这种方法消除了这一障碍,并提供了很大的灵活性。

您可以发布一个示例吗?如何设置内容?在标记或代码隐藏中?我曾经遇到过同样的问题,我用想要复制的内容创建了一个用户控件e、 混乱,可能不是解决这个问题的最好办法,但它完成了任务。