1

テキスト ボックスのテキスト変更のテキスト ボックスを使用して、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>テキストボックスに使用する必要がありますか。

そして、タスクを実行する方法。皆さんが助けてくれることを願っています。ありがとうございました

4

1 に答える 1

2

ユーザーがテキスト ボックスの内容を編集したため、ASP.NET はポストバックをトリガーしません。その場合、文字を入力するたびに、完全なラウンドトリップが実行されるため、約 2 秒待たなければなりません。

この機能 (の内容でテキスト ボックスを更新することは、JavaScript (特に jQuery ライブラリ) を使用してクライアント側で実装するのが最適です。Knockout.jsを使用して、 ObservertxtCitizenFamilyNameテキスト ボックスに簡単に追加することもできます。これを簡単に実装します。

于 2012-08-14T09:33:55.340 に答える