0

我正在使用 jquery get 尝试刷新 partialView 并且它不起作用。我至少有正确的语法吗?我是 C# 的新手

//我的javascript是(工作正常)

function takeSquare(square) {
   var x = $(square).attr('x');
   var y = $(square).attr('y');

    alert(x + y);

$.get("Home/updateBoardSquare", { posX: y, posY: y }, function (html) {
    $("#gameBoard").replaceWith(html);
});

alert(html);
}

我的 C# 是

 public ActionResult updateBoardSquare(int posX, int posY){

        String boardHtml = "";

        for (int i = 0; i < 15; i++) {
            for (int k = 0; k < 15; k++) {

                if (board[i, k] == null)
                    board[i, k] = new BoardSquare(i, k);

                if (i == posX && k == posY) 
                    board[posX, posY].takeSquare((String) Session["color"]);

                boardHtml += board[i, k].getHtml();
            }
        }

        ViewData["board"] = boardHtml;

        return PartialView();

    }

我只是从 get 语句中没有得到任何东西

4

2 回答 2

1

Internet Explorer 无法处理相对 url。

用这个:

function takeSquare(square) {
   var x = $(square).attr('x');
   var y = $(square).attr('y');

    alert(x + y);

$.get('@Url.Action("Home", "updateBoardSquare")', { posX: y, posY: y }, function (html) {
    $("#gameBoard").replaceWith(html);
});


}

看?我@Url.Action用来让 Razor 生成要使用的 url。好处是它适用于根网站和托管在虚拟目录中的应用程序。

于 2012-05-25T08:35:33.143 回答
0

我只是从 get 语句中没有得到任何东西

您正在尝试html在成功回调之外使用该变量。

此外,您似乎已经倒置了y两次使用该变量:

$.get("Home/updateBoardSquare", { posX: x, posY: y }, function (html) {
    $("#gameBoard").replaceWith(html);
    alert(html);
});
于 2012-05-25T07:23:09.540 回答