2013-09-29 23 views
-1

我有兩個視圖類別和產品我通過傳遞類別ID檢索產品,我想在我的產品視圖中實現搜索功能。當我嘗試通過類別ID和搜索字符串
在我的控制器方法搜索表單提交不工作,如果我單獨傳遞搜索字符串,然後其工作。如何在控制器方法中傳遞這兩個參數。或者我應該使用局部視圖此在MVC中使用動作鏈接傳遞參數

分類視圖:

@foreach (var item in Model) 
{ 
    <li> 
     @Html.ActionLink(
      @item.Category, 
      "Products", " 
      Home", 
      new { cid = @item.CategoryId, search = UrlParameter.Optional}, 
      null) 
    </li> 
} 

產品視圖:

@using(Html.BeginForm("Products", "Home", FormMethod.Get)) 
{ 
    <b>Search:</b> @Html.TextBox("search")<input type="submit" value="search" /> 
} 

控制器的方法:

public ActionResult Products(string search,int cid) 
{ 
    if (!string.IsNullOrEmpty(search)) 
    { 
     var ser = db.searchPro(search); 
     return View(ser); 
    } 
    else 
    { 
     var Pro = db.getProducts(cid); 
     return View(Pro); 
    } 
} 

回答

1

你應該帕拉姆類型更改爲可空,因爲當你從產品搜索視圖提交時,沒有'cid'

public ActionResult Products(string search,int? cid) 
+0

非常感謝泰迪的即時響應。其工作 – Thiru