【发布时间】:2013-06-25 16:17:04
【问题描述】:
我使用 mvc4 开发了一个 web 应用程序。我需要从控制器传递一些 <IList> 以查看 json 结果。
下面是控制器类中的代码
public ActionResult GetTradeUserData([DataSourceRequest] DataSourceRequest request, int test)
{
wholeSaleModelUser = new WholeSaleInfoService().PopulateWholeSaleUserData(test);
return Json(wholeSaleModelUser, JsonRequestBehavior.AllowGet);
}
这是视图类的代码
<script>
$("#submitMarketUser").click(function () {
$.ajax({
url: "WholeSaleTrade/GetTradeUserData",
data: { test: $("#Names").val() },
dataType: "json",
type: "POST",
success: function (data) {
alert(data.EmpNm);
$("#Contact").val(data.Contact);
$("#EPFNo").val(data.EPFNo);
$("#TitlKy").val(data.TitlKy);
$("#EmpNm").val(data.EmpNm);
$("#NameInInitials").val(data.NameInInitials);
$("#DtBirth").val(dateFromStringWithTime(data.DtBirth));
},
error: function (e) {
return false;
}
});
});
我的问题是 data 对象没有获取任何数据并弹出带有文本为“未定义”的警报。
谁能帮帮我。
【问题讨论】:
-
GetTradeUserData 方法是否标有 [HttpPost] 属性?否则该方法不会被命中,因为它将默认接受 GET 请求并且您正在发布。此外,您是否添加了断点并查看您的代码是否真的被命中?
-
alert(JSON.stringify(data));在您的成功回调中显示什么? -
你用的是什么浏览器?
-
@steinar 是的,当然..
return Json(wholeSaleModelUser, JsonRequestBehavior.AllowGet);在这里 WholeSaleModelUser 获取值作为代码命中 -
@Andrei 谷歌浏览器
标签: c# json asp.net-mvc-4 razor