400个错误请求,但此页面没有任何问题

时间:2017-01-10 20:55:34

标签: asp.net asp.net-mvc pagedlist

我在我的mvc应用程序上使用分页列表。我有很多不同的页面可以做到这一点,但是由于一些随机的原因,这个会抛出400个错误的请求错误。我几乎肯定代码是一样的。

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错误。

我正在为我的数据库中的其他表做这个完全相同的功能,它工作正常。这个让我斗智斗勇。

1 个答案:

答案 0 :(得分:0)

如果它出现在HTML post中,这个就会很明显。问题很简单,因为我在视图中出现了错误(意外添加了一个字符)。 c#函数执行正常,然后代码在视图方面破坏,这是使用ajax和mvc进行调试的一个陷阱。