【发布时间】:2015-10-26 08:49:36
【问题描述】:
我想将一个整数从我的视图传输到我的控制器。我正在使用 Ajax 来执行此操作,下面是我的 html 代码:
<input type="button" class="btn btn-default" value="Yes" id="return"
onclick="returnBook(@item.BookID);"/>
我的 ajax:
function returnBook(id) {
console.log(id);
var bookID = id;
var url= '/AuthenticatedUser/ReturnBook';
$.ajax({
url: url,
type: 'POST',
data: bookID,
success: function (results) {
}
});
}
我的控制器:
[HttpPost]
public ActionResult ReturnBook(string id)
{
return View();
}
在我的控制器中,当我使用字符串时,会调用该方法,但 id 仍设置为 null。但是,如果我使用“int id”,则根本不会调用该方法,并且会收到 500 错误。知道如何将 id 从视图传递到控制器吗?
【问题讨论】:
-
您是否使用了一些额外的库或框架?因为一般情况下,字符串
@item.BookId不会神奇地被某个字段的值替换。一般来说,你必须从你的表单中获取它,例如<input type='hidden' id='bookId' value='...' />,然后是returnBook(document.getElementById("bookId").value)(或者$('#bookId'),如果你使用jQuery作为你的标签)。