1

ASP.NETベースのTicTacToeゲームに取り組んでいます。私が抱えている問題は次のとおりです。ゲームは2人のユーザー間でプレイされます。最初のものがTextBoxに「x」と入力したとき、ページをリロードせずに「x」を2番目のプレーヤーのコンピューターに表示したいと思います。いくつかのコードが役立つかどうかはわかりませんが、リロードせずに行った方法は次のとおりです(ユーザーはページを手動でリロードする必要があります...ダム):

protected void TopLeft_TextChanged(object sender, EventArgs e)
    {
        Application.Lock();
        GameBoard gameBoard = new GameBoard();
        gameBoard.board[0, 0] = char.Parse(this.TopLeft.Text);
        Application["TopLeft"] = gameBoard.board[0, 0];
        Application.UnLock();
    }

そして、ページのプリレンダリングで:

protected override void OnPreRender(EventArgs e)
    {
        base.OnPreRender(e);

        Application.Lock();
        if(Application["TopLeft"] != "0")
        {
            this.TopLeft.Text = Application["TopLeft"].ToString();
        }
        ...

などなど...助けてくれる人にはとても感謝しています!

4

3 に答える 3

3

これを行うには、 AJAXを使用する必要があります。jQueryが提供するAJAX機能のいくつかを確認することをお勧めしますが、MicrosoftのAJAXToolkitも確認できます。

jQueryでのAJAXのドキュメントは次のとおりです。

これは、Microsoftが箱から出して提供するものよりもはるかに「軽い」と感じています。Microsoft AJAXツールキットの詳細については、次を参照してください。

于 2011-05-10T15:27:06.890 に答える
2

あなたは部分的なページの更新について質問しています。

まず、クライアントTextBoxまたはリロードする必要のあるその他のコントロールをUpdatePanel内に配置する必要があります。

次に、UpdatePanel.Updateを呼び出して、必要なときにこれらのコントロールを更新する必要があります。

于 2011-05-10T15:33:15.213 に答える
1

AJAXをチェックしてください。これには、ページ全体を送信または更新せずに更新を送信および検出するためのクライアントスクリプトが必要になります。

ただし、これはかなり高度なトピックであり、単に追加できるコードのスニペットではないことに注意してください。良いAJAX/JavaScript/jQueryの本をお勧めします。

于 2011-05-10T15:27:26.010 に答える