如何在母版上两次添加占位符?

3
我有一个母版页,希望在上面添加两个占位符——这样我就可以在母版页的两个位置使用相同的占位符,而实际页面只需一次指定占位符的内容,并且该内容会在结果页面上呈现两次。目标是避免重复内容。
如果我尝试两次添加相同id的占位符,则无法编译——ASP.NET不支持这种情况。
那么我该如何实现呢?还有其他选项吗?

你能发一个例子吗? - Adrian Iftode
你打算如何设置内容?是在标记中还是在代码后台? - James Johnson
我曾经遇到过同样的问题,我从想要复制的内容中创建了一个用户控件。这种方法可能有些混乱,也不是解决问题的最佳方式,但它完成了工作。 - Alex
3个回答

2

将您的占位符放置在一个Action中,在必要时调用它。

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

...然后在代码中在必要的地方进行调用。

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

该错误在编译时发生:如果存在相同ID的占位符,将会收到投诉。这种方法清除了这个障碍,并提供了很大的灵活性。

1

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

http://msdn.microsoft.com/en-us/library/y6wb1a0e.aspx

使用用户控件,您可以将标记和代码放入一个 .ascx 文件中,然后在主页面/ Web 表单中多次调用它,从而避免重复的代码。


0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接