我有两个视图类别和产品我通过传递类别ID检索产品,我想在我的产品视图中实现搜索功能。当我尝试传递类别ID和搜索字符串
时
在我的控制器方法搜索表单提交不工作,如果我单独传递搜索字符串然后它的工作。如何在控制器方法中传递两个参数。或者我应该使用部分视图
分类视图:
@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);
}
}
答案 0 :(得分:1)
您应该将参数类型更改为Nullable,因为当您从产品搜索视图提交时,没有'cid'
public ActionResult Products( string search,int? cid)