没有从$ .get获得ActionResult的结果

时间:2012-05-25 06:55:46

标签: c# ajax asp.net-mvc

我正在使用jquery来尝试刷新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语句中得不到任何东西

2 个答案:

答案 0 :(得分:1)

Internet Explorer无法处理相对网址。

使用此:

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生成要使用的网址。好处是它适用于根网站和托管在虚拟目录中的应用程序。

答案 1 :(得分:0)

  

我从get语句中得不到任何东西

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

此外,您似乎已反转使用y变量两次:

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