Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/35.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
如何将筛选后的列表传递到操作参数ASP.NET MVC_Asp.net_Asp.net Mvc_Asp.net Mvc 3_Razor - Fatal编程技术网

如何将筛选后的列表传递到操作参数ASP.NET MVC

如何将筛选后的列表传递到操作参数ASP.NET MVC,asp.net,asp.net-mvc,asp.net-mvc-3,razor,Asp.net,Asp.net Mvc,Asp.net Mvc 3,Razor,嗨,我有一个WebGrid,有两列: 1-名称 2-绑定到另一个控制器操作的操作。一按我就会 对于该操作,参数应该是List 项目 输出: 请求转到控制器,但参数为空collection,是否缺少任何内容 视图: @model IEnumerable @{ var grid=new WebGrid(ajaxUpdateContainerId:“testGrid”,canSort:true); 网格绑定(模型); @MvcHtmlString.Create( @grid.GetHtml( 列:gr

嗨,我有一个WebGrid,有两列:

1-名称
2-绑定到另一个控制器操作的操作。一按我就会 对于该操作,参数应该是
List
项目

输出: 请求转到控制器,但参数为空collection,是否缺少任何内容

视图:

@model IEnumerable
@{
var grid=new WebGrid(ajaxUpdateContainerId:“testGrid”,canSort:true);
网格绑定(模型);
@MvcHtmlString.Create(
@grid.GetHtml(
列:grid.columns
(
grid.Column(Html.DisplayNameFor(model=>model.Name).ToHtmlString(),
标题:Html.DisplayNameFor(model=>model.Name).ToHtmlString()),
grid.Column(“操作”,标题:“操作”,格式:@)
)
).ToString()
)
}
控制器代码

列表将为空

public ActionResult LoadTest(List<Test> testItems)
        {
            //...test code.
        }
public ActionResult负载测试(列表测试项)
{
//…测试代码。
}

您的Url。操作正在创建一个不同于控制器预期的变量:

或者将您的行动从配料改为测试:

 grid.Column("Action", header: "Action", format: @<a href="@Url.Action("LoadTest", "NewController", 
                        new
                        {
                            testItems = Model.Select(t=>t.Id==@item.Id).ToList()
                        }

对不起,我没有使用这里的路线。
 grid.Column("Action", header: "Action", format: @<a href="@Url.Action("LoadTest", "NewController", 
                        new
                        {
                            testItems = Model.Select(t=>t.Id==@item.Id).ToList()
                        }
public ActionResult LoadTest(List<Test> ingredients )
        {
            //...test code.
        }
        routes.MapRoute(
         "Test route", // Route name
         "NewController/{action}/{testItems}", // URL with parameters
         new { controller = "NewController", action = "LoadTest" } // Parameter defaults
     );