提交TextBox的值而不重新加载页面

时间:2011-05-10 15:23:44

标签: c# asp.net visual-studio-2010 reload tic-tac-toe

我正在开发基于ASP.NET的TicTacToe游戏。我遇到的问题是: 游戏在两个用户之间进行。当第一个在TextBox中输入'x'时,我想在第二个播放器的计算机上显示'x'而不重新加载页面。 我不知道是否有一些代码会有所帮助,但这是我没有重新加载的方式(用户必须手动重新加载页面...哑巴):

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();
        }
        ...

依旧...... 我非常感谢任何可以提供帮助的人!

3 个答案:

答案 0 :(得分:3)

您需要使用AJAX来执行此操作。我建议您查看jQuery提供的一些AJAX功能,但您也可以查看Microsoft的AJAX工具包。

以下是jQuery中AJAX的文档:

我觉得这比微软提供的开箱即用“轻”。您可以在此处找到有关Microsoft AJAX工具包的更多信息:

答案 1 :(得分:2)

您在询问Partial Page Update

首先,您需要在UpdatePanel内放置客户端TextBox或其他需要重新加载的其他控件。

然后,您需要在需要时调用UpdatePanel.Update更新这些控件。

答案 2 :(得分:1)

查看AJAX。这将要求客户端脚本提交和检测更新,而无需提交或更新整个页面。

但请注意,这是一个相当高级的主题,并不仅仅是您可以添加的一小段代码。我会推荐一本好的AJAX / JavaScript / jQuery书。