【发布时间】:2014-07-23 23:11:46
【问题描述】:
我使用的是 MVC3 和 C#,第一次调用一切正常,但第二次 C# action 方法捕获的参数为 null。
这是我的代码:
Monitor.SearchAction = function (pageNum) {
var searchUrl = $("#textURL").data("url");
var newPageNum = pageNum;
var searchInput =
{
PageNumber: newPageNum
};
searchInput["FromDate"] = $("#FromDate").val();
searchInput["FromHour"] = $("#FromHour").val();
$.ajax({
url: searchUrl,
data: JSON.stringify(searchInput),
success: function (d, m, x) {
var $listingContainer = $("#listingContainer");
$listingContainer.html(d);
},
async: false,
cache: false,
});
};
这里是控制器方法头:
public PartialViewResult Search (DAS.Dashboard.Web.Areas.Monitoring.ViewModels.MonitoringSearchInputModel searchInput)
因此,“searchInput”是一个具有三个属性的模型,在第二次调用时会收到“null”。
【问题讨论】:
-
这将有助于展示它是如何被调用的。
-
在不知道 searchUrl 和 searchInput 是如何填充的以及值是什么的情况下,无法诊断。
-
您是否尝试过基本的故障排除方法,将这些值记录到控制台以查看它们是什么?
-
直到“data: JSON.stringify(searchInput)”这一行我发现提交的信息就在那里,问题是这个信息在它到达C#方法之前就在中间丢失了。它第一次工作正常,但第二次参数为空。
标签: c# jquery ajax asp.net-mvc-3