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.ActionRazor に使用する URL を生成させるために使用しています。利点は、仮想ディレクトリでホストされているルート Web サイトとアプリケーションの両方で機能することです。

于 2012-05-25T08:35:33.143 に答える
0

getステートメントから何も取得していません

html成功コールバックの外で変数を使用しようとしています。

yまた、変数を2回使用することを逆にしたようです:

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