【问题标题】:Asp.net Textbox Empty on PostBack回发时 Asp.net 文本框为空
【发布时间】:2017-10-11 17:32:29
【问题描述】:

我正在尝试创建一个登录页面。每当我单击登录按钮时,用户名文本框的文本变为空。
我试过了:

  1. 使用更新面板不起作用
  2. OnClientClick - 它不会触发 OnClick 事件
  3. 我尝试通过字符串 usrnm=Page.Request.Form["username"].ToString(); 获取值但它给出了空值
  4. 我尝试将 AutoPostBack="true" 放在文本框

这是标记:

<label for="username">Username</label>
<%--<input type="text" name="Uname" id="username"/>--%>
<asp:TextBox ID="txtusrnm" runat="server" AutoPostBack="true"/>
</div>
<div class="form-group">
    <label for="password">Password</label>
    <input type="password" name="Pname" id="password">
</div>
<div class="form-group"><a href="#">Forgot password?</a></div>
<hr class="hr-sm hr-stroke" />
<div class="form-group">
   <%--<input id="btnlogin" type="button" class="btn btn-primary btn-wide" value="Login" runat="server" onserverclick="btnlogin_ServerClick"  >--%>
   <asp:Button ID="btnLogin" runat="server" Text="Login" class="btn btn-primary btn-wide" OnClick="btnLogin_Click" UseSubmitBehavior="false" EnableViewState="true" />

【问题讨论】:

  • 确保您没有在页面的页面加载事件中清除文本框。
  • 是的,请添加出现在 Page_Load 事件和按钮单击中的代码
  • 我的Page_Load 事件为空白
  • 你说的是Form["username"]。但是username 不存在。所以当然是空的。在后面的代码中使用string user = txtusrnm.Text;
  • @VDWWD 我也尝试过同样的方法,但它给出的空白不为空

标签: c# asp.net button textbox postback


【解决方案1】:

我能够解决我的问题,我在文本框中有 AutoPostBack='true',所以刚刚删除并将 UseSubmitBehavior="false" EnableViewState="true" 替换为 CausesValidation="False",现在可以正常工作。

文本框:

<asp:TextBox ID="txtusrnm" runat="server"/>

和按钮:

 <asp:Button ID="btnLogin" runat="server" Text="Login" class="btn btn-primary btn-wide" OnClick="btnLogin_Click" CausesValidation="False"/>

谢谢

【讨论】:

    猜你喜欢
    • 2013-10-11
    • 1970-01-01
    • 1970-01-01
    • 2012-09-24
    • 2013-05-01
    • 2011-11-10
    • 2013-09-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多