Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/304.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在MVC中使用动作链接传递参数_C#_Asp.net Mvc - Fatal编程技术网

C# 在MVC中使用动作链接传递参数

C# 在MVC中使用动作链接传递参数,c#,asp.net-mvc,C#,Asp.net Mvc,我有两个视图类别和产品我通过传递类别Id检索产品,我想在我的产品视图中实现搜索功能。当我尝试传递类别id和搜索字符串时 在我的控制器方法搜索表单中,如果我单独传递搜索字符串,则提交不起作用。如何在控制器方法中传递这两个参数。或者我应该使用局部视图进行此操作 类别视图: @foreach (var item in Model) { <li> @Html.ActionLink( @item.Category, "

我有两个视图类别和产品我通过传递类别Id检索产品,我想在我的产品视图中实现搜索功能。当我尝试传递类别id和搜索字符串时
在我的控制器方法搜索表单中,如果我单独传递搜索字符串,则提交不起作用。如何在控制器方法中传递这两个参数。或者我应该使用局部视图进行此操作

类别视图:

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

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

public ActionResult Products( string search,int? cid)

非常感谢泰迪的即时回复1.它起作用了
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);
    }
}
public ActionResult Products( string search,int? cid)