我创建了一个基于 MasterPage 的站点,在创建了几个页面后,我添加了一个新页面,<asp:ContentPlaceHolder>
但似乎现有页面不会更新以包含它,但是新页面可以。
有没有办法强制更新,或者有没有合适的方法来做到这一点?我刚刚保存了母版页并希望最好。
我创建了一个基于 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" ... />
不完全漂亮,但它可以节省一些时间。