-1

我有两个视图类别和产品我通过传递类别 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);
    }
}
4

1 回答 1

1

您应该将参数类型更改为 Nullable,因为当您从产品搜索视图提交时,没有“cid”

public ActionResult Products( string search,int? cid)
于 2013-09-29T10:19:43.967 回答