1

我创建了一个基于 MasterPage 的站点,在创建了几个页面后,我添加了一个新页面,<asp:ContentPlaceHolder>但似乎现有页面不会更新以包含它,但是新页面可以。

有没有办法强制更新,或者有没有合适的方法来做到这一点?我刚刚保存了母版页并希望最好。

4

2 回答 2

2

您需要手动将新页面添加<asp:ContentPlaceHolder>到旧页面。aspx

在您的母版页中:

<asp:ContentPlaceHolder ID="ContentPlaceHolder1" runat="server">
</asp:ContentPlaceHolder>
<asp:ContentPlaceHolder ID="new_one" runat="server"></asp:ContentPlaceHolder>

在旧的 aspx 页面中,添加:

<asp:Content ID="Content3" ContentPlaceHolderID="new_one" runat="server">
</asp:Content>
于 2012-08-16T00:44:38.250 回答
0

如果您在母版页中创建新的内容占位符,则您的内容页不需要有对应的<asp:Content>. 如果您想替换母版页中的默认内容,它们只需要一个。

而且,如果您要使用自己的内容更新每个页面,那么添加<asp:Content>标签可能会带来相对较小的不便。

不幸的是,Visual Studio 无法搜索所有内容页面并使用新<asp:Content>控件更新它们。

但是,您可以通过使用现有<asp:Content>控件的 id 查找来相当快地完成此操作,然后执行ctrl++shiftF替换为新的<asp:Content>以及您搜索的内容。

例如,如果您的内容页面都已经有了

<asp:Content ID="Content3" ContentPlaceHolderID="old_one" ... />

然后你可以搜索并替换为

<asp:Content ID="Content4" ContentPlaceHolderID="new_one" runat="server" /><asp:Content ID="Content3" ContentPlaceHolderID="old_one" ... />

不完全漂亮,但它可以节省一些时间。

于 2012-08-16T00:43:57.280 回答