ASP.NET 母版页不更新子页



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

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

您需要

手动将新<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>

如果在母版页中创建新的内容占位符,则内容页不需要具有相应的<asp:Content>。 仅当您要替换母版页中放置的默认内容时,它们才需要一个。

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

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

但是,你可以通过使用现有 <asp:Content> 控件的 id 进行查找,并执行ctrl + shift + F并替换为新<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" ... />

不是很漂亮,但可以节省一些时间。

最新更新