gpt4 book ai didi

javascript - 按钮的单击在后面运行代码并且不回发页面(刷新)asp.net

转载 作者:行者123 更新时间:2023-12-02 19:22:55 25 4
gpt4 key购买 nike

enter image description here enter image description here

我的登录时遇到下拉菜单问题。当我按下登录链接时,下拉菜单会向下滑动。我想要的是当错误的凭据被提供给不回发(刷新)时,下拉菜单将保持打开状态,以便用户输入正确的密码!

我尝试过 OnClientClick="return false;"但这会禁用我的 asp:button 的 onclick 事件。

我的代码:

string insCmd = "SELECT ID_USER FROM users WHERE username = @LoginEmail AND password = @passwd;";
SqlCommand Login = new SqlCommand(insCmd, con);

Login.Parameters.AddWithValue("@LoginEmail", txtLoginEmail.Text);
Login.Parameters.AddWithValue("@passwd", txtLoginPassword.Text);

try
{
SqlDataReader dr = Login.ExecuteReader();
SqlDataReader dr2;

if (dr == null || !dr.HasRows)
{
litErrorLogin.Text = "<span>Error:Wrong Credentials</span>";

//btnLogin.OnClientClick = "return false;";
return;
}

while (dr.Read())
{
Session["UserID"] = dr.GetInt32(0);
}

我的html代码:

<div id="bb_loginForm">
<div class="bg_loginForm">
<span style="font-size:11.5px;font-weight:bold">Log in to Account</span> <a class="bb_linkLoginHeaderHide" href="#" title="Hide">
Hide</a>
<br />
<div class="f_username">
<label for="txtLoginEmail" id="labelUser">
Email
</label>
<br />
<asp:TextBox class="text-input" ID="txtLoginEmail" runat="server" Height="15px" Width="130px"></asp:TextBox>
</div>

<div class="f_password">
<label for="txtLoginPassoword" id="labelPassword">
Password
</label>
<br />
<asp:TextBox class="text-input" ID="txtLoginPassword" runat="server" Height="15px" Width="130px"
TextMode="Password"></asp:TextBox>
</div>
<br />
<div class="f_login">

<!--src="../images/GreyButton.png" class="submit btn primary-btn" onclick="btnLogin_Click"-->
<asp:Button class="submit google-button" ID="btnLogin" onclick="btnLogin_Click" runat="server" Text="Log in" />


<br />

<asp:CheckBox ID="chkRememberLogin" runat="server" />
&nbsp;
<label class="smaller" for="chkRememberLogin" id="labelrememberusername">Remember me
</label>
<br />
<a title="Forgot your login info?" href="#" class="underlineHover">Forgot your login
info? </a>
<br />
<asp:Literal ID="litErrorLogin" runat="server"></asp:Literal>
</div>
</div>
</div>

最佳答案

您可以基于Ajax进行开发为了不发布所有页面,而只发布页面的一部分。 (更新部分页面)

        <asp:ScriptManager ID="ScriptManager1" runat="server" />
<asp:UpdatePanel runat="server" id="UpdatePanel" updatemode="Conditional">
<Triggers>
<asp:AsyncPostBackTrigger controlid="btnLogin" eventname="Click" />
</Triggers>
<ContentTemplate>
<asp:Literal ID="litErrorLogin" runat="server"></asp:Literal>
<asp:Button class="submit google-button" ID="btnLogin" onclick="btnLogin_Click" runat="server" Text="Log in" />

</ContentTemplate>
</asp:UpdatePanel>

您设置了所有不想在 ContentTemplate 之外发布的控件

注意:我已修复updatemode="Conditional"<asp:AsyncPostBackTrigger controlid="btnLogin" eventname="Click" />

关于javascript - 按钮的单击在后面运行代码并且不回发页面(刷新)asp.net,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12331550/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com