2013-02-20 60 views
0

我試圖讓視圖與搜索和分頁,但是當搜索是好的,但是當我點擊下一頁鏈接沒有顯示asp.net的MVC搜索?

[HttpGet] 
public ActionResult Browse() 
{ 
    return View();  
} 

[HttpPost] 
public ActionResult Browse(FormCollection formContent ,int? page) 
{ 
    string cartype = !String.IsNullOrEmpty(formContent["Cartype"]) ? formContent "Cartype"] : ""; 
    string SearchBox = !String.IsNullOrEmpty(formContent["searchbox"]) ? formContent["searchbox"] : ""; 
    DateTime toDate = !String.IsNullOrEmpty(formContent["toDate"]) ? DateTime.Parse(formContent["toDate"]) : DateTime.MaxValue; 
    string Sort = formContent["sort"]; 

    mvc4advertismentEntities2 db = new mvc4advertismentEntities2(); 
    var result = AdvertFunObj.GetAdverts(); 

    switch (Sort) 
    { 
     case "": 
      result = db.Mercedes.Where(m => m.CarType == cartype).ToList(); 
      break; 
     case "price": 
      result = db.Mercedes.Where(m => m.CarType == cartype).OrderByDescending(m =>  m.Price).ToList(); 
      break; 
     case "date": 
      result = db.Mercedes.Where(m => m.CarType == cartype).OrderByDescending(m => m.ExpirationDate).ToList(); 
      break; 
     case "enginecapaity": result = db.Mercedes.Where(m => m.CarType == cartype).OrderByDescending(m => m.EngineCapacity).ToList(); 
      break; 
    } 

    int pageSize = 6; 
    int pageNumber = (page ?? 1); 
    return View(result.ToPagedList(pageNumber, pageSize)); 
} 

認爲任何事情上

<table class="advertbrowsediv " id="searcht" width="100%"><tr><td style="width: 42%"> فئة السياره : 
     <br /> 
        <%: Html.DropDownList("Cartype", new SelectListItem [] { 
        new SelectListItem(){Text="مرسيدس",Value="مرسيدس", Selected=true}, 
       new SelectListItem(){Text="ميتسوبيشي",Value="ميتسوبيشي"}, 
     }) %> 
</td> 

<td >ترتيب حسب : 
<br /> 
    <%: Html.DropDownList("sort", new SelectListItem [] { 
      new SelectListItem(){Text="",Value="", Selected=true}, 
      new SelectListItem(){Text="التاريخ",Value="date"}, 
      new SelectListItem(){Text="السعر",Value="price"}, 
      new SelectListItem(){Text="سعة المحرك",Value="enginecapaity"}, 


}, 
</td><td><br /><input style=" float:right" type="submit" value="بحث> 

</table> 

回答

0

代碼目前尚不清楚,反正如果你的下一個頁面點擊您正在執行一個get,並非一個職位。所以你應該爲你的get方法添加邏輯。

0

當你做你正在使用的搜索HttpPost方法和你的方法「瀏覽」被執行,其中搜索和分頁正在發生的事情。

當你點擊下一頁,你將有HTTPGET請求(我相信),並不管你在「瀏覽做(httpPost)是不會發生的。

去一個新的頁面會要求你保留您的搜索條件,你的頁碼和該方法需要重新獲取你的數據集,並做分頁。您可以將它們作爲查詢參數。

,你有另一種選擇是讓你的下一個頁面請求是hTTPPost請求,並使其執行「瀏覽」(httpPost)

小提琴手是你的朋友http://www.fiddler2.com/fiddler2/ 運行它,你會看到究竟發送到服務器,使用什麼動詞,等等。

我希望有幫助。