【发布时间】:2017-01-10 20:55:34
【问题描述】:
我在我的 mvc 应用程序上使用分页列表。我有很多不同的页面可以执行此操作,但由于某些随机原因,此页面会引发 400 bad request 错误。我几乎肯定代码是一样的。
public ViewResult ManageWeapons(string sortOrder, string currentFilter, string searchString, int? page)
{
ViewBag.CurrentSort = sortOrder;
ViewBag.NameSortParm = String.IsNullOrEmpty(sortOrder) ? "WeaponName_desc" : "";
if (searchString != null)
{
page = 1;
}
else
{
searchString = currentFilter;
}
ViewBag.CurrentFilter = searchString;
var weapon = from s in db.Weapons
select s;
if (!String.IsNullOrEmpty(searchString))
{
weapon = weapon.Where(s => s.WeaponName.Contains(searchString));
}
switch (sortOrder)
{
case "WeaponName_desc":
weapon = weapon.OrderByDescending(s => s.WeaponName);
break;
default: // ascending
weapon = weapon.OrderBy(s => s.WeaponName);
break;
}
int pageSize = 25;
int pageNumber = (page ?? 1);
return View(weapon.ToPagedList(pageNumber, pageSize));
}
我这样调用它,对列进行排序
//This function updates a pagedList using Ajax
function getSorterWeapons(sortOrder, currentFilter) {
//alert($(this).val());
console.log("making it!");
$.ajax({
type: "GET",
url: '@Url.Action("ManageWeapons", "AdminTools")',
cache: false,
data: { sortOrder: sortOrder, currentFilter: currentFilter },
error: function () {
alert("An error occurred.");
},
success: function (data) {
$("#manageWeaponsBox").html(data);
console.log("success!");
alert(data);
}
});
}
我在服务器上设置了断点,它可以正常运行。似乎没有什么问题,但客户端在控制台中不断输出 400 错误。
我正在为我的数据库中的其他表执行此完全相同的功能,它工作正常。这个让我束手无策。
【问题讨论】:
-
你检查你的服务器是否有抛出或吞没的异常?
-
您可以使用浏览器控制台调试到 ajax 调用吗?网络标签通常有很好的信息。
-
另外,您确定这是
GET而不是POST? -
我不明白为什么页面加载正常,但是当我使用ajax调用刷新这个表时它不起作用。
标签: asp.net asp.net-mvc pagedlist