我目前正在尝试使现有的ASP.NET WebForms应用程序使用Site.Master模板。
创建Site.Master模板并不是一个真正的问题,因为它就像一个魅力。
问题始于从它派生并将控件放在给定的ContentPlaceHolder中。
在运行时,我收到以下错误消息:
Control 'ctr00_Login1' of type 'Login' must be placed inside a form tag with runat=server
这来自我在Site.Master模板中放置的LoginControl。
我应该如何处理此错误以及在母版页中使用元素的最佳做法是什么?
提前感谢您的帮助!
答案 0 :(得分:3)
您的母版页上看起来没有表单元素(<form>
)。请阅读see how masterpages work。
您应该拥有以下内容(来自MSDN页面):
<form id="form1" runat="server">
<table>
<tr>
<td><asp:contentplaceholder id="Main" runat="server" /></td>
<td><asp:contentplaceholder id="Footer" runat="server" /></td>
</tr>
</table>
</form>
或者登录控件不在<form>
标记内。