我正在使用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语句中得不到任何东西
答案 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);
});