文本连接问题VB.Net中文本框中的文本更改事件

时间:2012-08-14 09:23:09

标签: asp.net vb.net

我想在文本框中使用文本框中的文本框连接VB.Net中的文本字段。

目前我正在执行下拉选择更改的任务:

VB代码

Protected Sub ddlCitizenSex_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ddlCitizenSex.SelectedIndexChanged
    If ddlCitizenSex.SelectedValue = "Male" Then
        txtCitizenName.Text = 
            txtCitizenFirstName.Text + " " + "S/O" + 
            txtCitizenFatherName.Text + " " + "S/O" + 
            txtCitizenGFatherName.Text + " " + txtCitizenFamilyName.Text
    Else
        txtCitizenName.Text = 
            txtCitizenFirstName.Text + " " + "D/O" +
            txtCitizenFatherName.Text + " " + "S/O" + 
            txtCitizenGFatherName.Text + " " + txtCitizenFamilyName.Text
    End If
End Sub

我编写了以下代码来尝试它,但没有用:

VB代码

Private Sub ModifyCitizenName()
    If ddlCitizenSex.SelectedValue = "Male" Then
        txtCitizenName.Text = 
            txtCitizenFirstName.Text + " " + "S/O" + 
            txtCitizenFatherName.Text + " " + "S/O" + 
            txtCitizenGFatherName.Text + " " + txtCitizenFamilyName.Text
    Else
        txtCitizenName.Text = 
            txtCitizenFirstName.Text + " " + "D/O" + 
            txtCitizenFatherName.Text + " " + "S/O" + 
            txtCitizenGFatherName.Text + " " + txtCitizenFamilyName.Text
    End If
End Sub

Protected Sub txtCitizenFirstName_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles txtCitizenFirstName.TextChanged
    ModifyCitizenName()
End Sub

Protected Sub txtCitizenFamilyName_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles txtCitizenFamilyName.TextChanged
    ModifyCitizenName()
End Sub

ASP代码

 <asp:Label ID="lblCitizenFamilyName" runat="server"  Text="">Family Name</asp:Label>
    <asp:TextBox ID="txtCitizenFamilyName"  AutoPostBack="true" runat="server"></asp:TextBox>

    <asp:Label ID="lblCitizenFirstName" runat="server"  Text="">First Name</asp:Label>
    <asp:TextBox ID="txtCitizenFirstName"  AutoPostBack="true" runat="server"></asp:TextBox>

    <asp:Label ID="lblCitizenSex" runat="server" Text="">Sex</asp:Label>
    <asp:DropDownList ID="ddlCitizenSex" runat="server"></asp:DropDownList>

如您所见,我在两个文本框中都使用了 AutoPostBack

我是否必须使用 <Triggers> 作为文本框。

以及如何执行任务。希望你们帮忙。谢谢

1 个答案:

答案 0 :(得分:2)

ASP.NET不会触发回发,因为用户已编辑了文本框的内容。如果确实如此,那么每次输入一个角色时,你都需要等待大约2秒才能进行完整的往返。

此功能(使用JavaScript(特别是jQuery库)更新具有内容的文本框最好在客户端实现。Knockout.js也可用于轻松添加Observer到您的txtCitizenFamilyName文本框,这样您就可以轻松实现此功能。