如何阻止回发返回页面顶部?

时间:2015-11-22 01:00:06

标签: c# asp.net forms textbox postback

我担心的是回复后。我有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;
    }

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

总结一下,我想知道在输入自动生成用户名的第一个名字后,如何停止回复返回页面顶部。非常感谢你。

1 个答案:

答案 0 :(得分:0)

根据需要进行调整:

<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>