【问题标题】:How to stop post-back from going back on top of the page?如何阻止回发回到页面顶部?
【发布时间】:2016-02-24 08:17:10
【问题描述】:

我担心的是回发。我有 3 个文本框,姓氏、名字和用户名。我想结合姓氏和名字来创建一个具有 lastname.firstname 格式的用户名。我在 .aspx 中的代码如下。名字回传是真的,因为用户输入名字后,会自动生成用户名。

<strong>LAST NAME: <span style="color: #FF0000">*</span> </strong>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;
    <asp:TextBox ID="txtLname" runat="server"
    Width="197px" onkeypress="return Alphabet()" BorderStyle="Solid"></asp:TextBox>
<strong>FIRST NAME: <span style="color: #FF0000">*</span> </strong>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;    <asp:TextBox ID="txtFname" runat="server" Width="199px" 
    onkeypress="return Alphabet()" AutoPostBack="True" 
    ontextchanged="txtFname_TextChanged" BorderStyle="Solid"></asp:TextBox>
<strong>USERNAME: </strong>&nbsp;<asp:TextBox 
ID="txtUser" runat="server" 
    Width="225px" ReadOnly="True" style="margin-left: 6px" BorderStyle="Solid" onkeypress="return Alphabet()"></asp:TextBox> 

我在.aspx.cs中的代码如下。

protected void txtFname_TextChanged(object sender, EventArgs e)
    {
        string mystring = txtFname.Text;
        mystring = Regex.Replace(mystring, @"\s+", "");

        txtUser.Text = txtLname.Text + "." + mystring;
    }

这是触发用户名的自动生成。

综上所述,我想知道在输入名字后如何阻止回发回到页面顶部以自动生成用户名。非常感谢。

【问题讨论】:

  • 我会在 javascript 中执行此操作。
  • 可以给个代码sn-p吗?
  • 看这个。 stackoverflow.com/questions/25811275/… 正如 TLJ 所说,您应该为此使用 java-script 或 J Query。回帖不值得。

标签: c# asp.net forms textbox postback


【解决方案1】:

根据需要调整:

<html>
<head></head>
<body>
    <form action="">
        Last Name :<input  id="txtLastName" name="txtLastName" type="text" oninput="updateUserName()"></input><br />
        First Name:<input id="txtFirstName" name="txtLastName" type="text" oninput="updateUserName()"></input><br />
        Username:<input id="txtUserName" name="txtLastName" type="text" readonly></input><br />
        <button type="submit">Submit</button>
    </form>
    <script>
        function updateUserName()
        {
            var last_name = document.getElementById("txtLastName").value;
            var first_name = document.getElementById("txtFirstName").value;
            if(last_name !== "" && first_name !== "")
                document.getElementById("txtUserName").value =  last_name+"."+first_name;
        }
    </script>
</body>

</html>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-11-11
    • 1970-01-01
    • 2014-07-07
    • 2014-08-26
    • 1970-01-01
    • 2012-10-11
    • 1970-01-01
    • 2010-10-18
    相关资源
    最近更新 更多