我有一個控制器操作,我想通過jquery調用進行更新。該動作運行,但參數中沒有數據。MVC3 jquery ajax參數數據在控制器爲空
我在我想運行某些服務器代碼的列中使用具有自定義命令的kedoui網格。
kendoui grid in view
...
columns.Command(command =>
{
command.Custom("ToggleRole").Click("toggleRole");
});
...
該模型的類型列表< _AdministrationUsers>。
public class _AdministrationUsers
{
[Key]
[ScaffoldColumn(false)]
public Guid UserID { get; set; }
public string UserName { get; set; }
public string Role { get; set; }
}
這裏是我的toggleRole腳本:
<script type="text/javascript">
function toggleRole(e) {
e.preventDefault();
var dataItem = this.dataItem($(e.currentTarget).closest("tr"));
alert(JSON.stringify(dataItem));
$.ajax({
type: "POST",
url: '@Url.Action("ToggleRole", "Administration")',
data: JSON.stringify(dataItem),
success: function() {
RefreshGrid();
},
error: function() {
RefreshGrid()
}
});
}
</script>
這裏是我的控制器操作:
[HttpPost]
public ActionResult ToggleRole(string UserID, string UserName, string Role)
{
...
}
控制器動作火災,但在任何參數的任何數據。
我把警報放在javascript中,以驗證「dataItem」變量中確實有數據。以下是警報文本看起來像:
{"UserID":"f9f1d175...(etc.)","UserName":"User1","Role","Admin"}
這樣做。謝謝一堆! – user1304444 2012-07-25 19:32:34
興趣點在這裏:dataType用於期望的返回類型,其中contentType是發送到服務器的數據。 https://api.jquery.com/jQuery.ajax/ – George 2014-04-14 18:09:51