我正在开发基于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();
}
...
依旧...... 我非常感谢任何可以提供帮助的人!
答案 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书。