我是ASP.NET的新手。我有以下代码,但我不知道在哪里放置asp:UpdatePanel控件,它的contenttemplate和(如果需要)它的触发器,所以我可以在没有回发的情况下进行验证?
<form method="post" id="formLogin" runat="server">
<asp:ScriptManager runat="server">
<Scripts>
// bunch of scriptreferences
</Scripts>
</asp:ScriptManager>
<p>
<asp:Label ID="lblEmail" runat="server" Text="Email:"/><br/>
<asp:TextBox ID="txtEmail" runat="server"/>
</p>
<p>
<asp:Label ID="lblPassword" runat="server" Text="Password:"/><br/>
<asp:TextBox ID="txtPassword" runat="server" TextMode="Password"/>
</p>
<div id="msg" runat="server" class="item">
<asp:Label ID="lblMessage" runat="server" ForeColor="Red" />
</div>
<div class="loginbutton">
<p>
<a href="#" class="forgot">Forgot Password?</a><br />
<a href="../EN/form_1.aspx" class="forgot">New user?</a>
</p>
<input type="reset" name="login" value="Cancel" id="cancel" />
<asp:Button ID="btnLogin" runat="server" Text="Login" OnClick="btnLogin_Click" />
</div>
</form>
lblMessage显示为&#34;您输入了错误的电子邮件/密码&#34;如果凭据与数据库记录不匹配。
答案 0 :(得分:0)
系统强制要求:
它不应出现在页面的<asp:ScriptManager>
标记之前。
您的需求:
在触发特定事件时,您只想更新的所有部分都应放在<ContentTemplate>
的{{1}}标记内。
以下示例:
UpdatePanel
对于你的问题:
<div>
<asp:ScriptManager ID="ScriptManager1" runat="server" />
<asp:Label ID="lblDontUpdateMe" runat="server" />
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<asp:Label ID="lblUpdateMe" runat="server" />
<asp:Button ID="btnUpdate" runat="server" Text="Update" />
</ContentTemplate>
</asp:UpdatePanel>
</div>