2017-01-10 36 views
0

我在我的mvc應用程序中使用了分頁列表。我有很多不同的頁面可以做到這一點,但出於某種隨機原因,這一個會引發400個錯誤的請求錯誤。我幾乎肯定代碼是一樣的。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錯誤。

我正在爲我的數據庫中的其他表EXACT相同的功能,它工作正常。這一個讓我敢於結束。

+0

您是否檢查過服務器是否存在拋出或吞下的異常? –

+4

您是否可以使用瀏覽器控制檯調試到ajax調用?網絡標籤通常有很好的信息。 – nurdyguy

+1

另外,你確定這是一個'GET'而不是'POST'? – nurdyguy

回答

0

如果它在HTML post中,這一個本來就會很明顯。問題很簡單,因爲我在視圖中有一個錯誤(意外添加一個字符)。 c#函數執行得很好,然後代碼在視圖方面打破了,這是使用ajax和mvc進行調試的缺陷之一。

相關問題