我创建了一个基于MasterPage的网站,在创建了几个页面后,我添加了一个新的<asp:ContentPlaceHolder>
,但似乎现有页面不会更新以包含它,但新页面会这样做。
有没有办法强制更新,还是有正确的方法来执行此操作?我刚刚保存了母版页并希望最好。
答案 0 :(得分: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>
答案 1 :(得分:0)
如果您在母版页中创建新的内容占位符,则您的内容页面不需要具有相应的<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" ... />
不完全漂亮,但可以节省一些时间。