0

私はasp.netが初めてです。ここでは、チャット アプリケーションを作成しようとしています。私のプロジェクトには、1 つのラベルと 1 つの TextBox があります。ユーザーが TextBox に何かを入力して押すとenter、テキストが に表示されLabelます。以下のコードを試しました:

TextBox のOnEnterKeyPress (.aspx.cs ファイル)

        HttpRequest request = base.Request;           
        Ping p = new Ping();
        PingReply r;
        String s = request.UserHostAddress;  //using own IP address for understanding purpose.
        r = p.Send(s);
        Response.Buffer = false;
        if (r.Status == IPStatus.Success)
        {
            Label1.Text = TextBox1.Text;
        }

enter イベントを保持する方法がわかりません。(C# のように TextBox プロパティにイベントはありません)

ここで質問する前に、 Link1 Link2 Link3などの多くのリンクを確認しましたが、役に立ちませんでした。簡単な Javascript を使用することもできましたが、メイン コードは C# ファイルにあります。

4

3 に答える 3

1

他のコントロールを含むページにあるため、これを独自の形式で配置し、javascript を使用する必要があります。何かを入力するたびにページを「送信」する必要はありません。

<form action="javascript:chat()">
put label and textbox here
</form>

これにより、テキストボックスの「入力」が機能します。チャット機能については、よりインタラクティブにするために、 http://signalr.net/で実装できます。

于 2012-11-10T12:58:00.770 に答える
1

「入力」を有効にしたいボタンがフォームに 1 つしかない場合は、それをデフォルトに設定できます。

protected void Page_Load(object sender, EventArgs e)
{
    this.Form.DefaultButton = myTextBox.UniqueID;
}

どのボタンでも、Javascript を使用する必要があります。引き続き C# を使用して属性を追加できます。(ここから)

myTextBox.Attributes.Add("onkeydown", "if(event.which || event.keyCode)
                  {if ((event.which == 13) || (event.keyCode == 13)) 
                      {document.getElementById('"+Button1.UniqueID+"').click();
                                         return false;}} else {return true};");
于 2012-11-10T12:46:15.077 に答える
0

ここで直面する可能性のある問題は、イベントがサーバー側で処理されることです (投稿後)。Enterキーが押されたときに投稿を行うには、おそらくまだjavascriptが必要です..

OnEnterKeyPressed が有効なイベントであるかどうかもわかりません。

于 2012-11-10T12:45:30.833 に答える