Asp.net mvc MVC 5网格。MVC Post整个网格

Asp.net mvc MVC 5网格。MVC Post整个网格,asp.net-mvc,Asp.net Mvc,我对POST Grid.MVC内容有一些问题。我的模型作为IQueryable类型发送到网格: @using GridMvc.Html @model IQueryable<ViewModels.AdministratorDashboard.AuctionViewModel> @{ ViewBag.Title = "Auctions"; Layout = "_AdministratorDashboard.cshtml"; } @using (Html.BeginF

我对POST Grid.MVC内容有一些问题。我的模型作为IQueryable类型发送到网格:

 @using GridMvc.Html
@model IQueryable<ViewModels.AdministratorDashboard.AuctionViewModel>

@{
    ViewBag.Title = "Auctions";
    Layout = "_AdministratorDashboard.cshtml";
}

@using (Html.BeginForm())
{
    @Html.Grid(Model, new GridRenderOptions {Selectable = false}).Columns(columns =>
    {
        columns.Add(d => d.Id)
            .Titled("Id")
            .Sortable(true);

        columns.Add(d => d.Title)
            .Titled("Title")
            .Sortable(true)
            .Filterable(true)
            .Sanitized(false)
            .Encoded(false)
            .RenderValueAs(d => Html.ActionLink(d.Title, "Auction", "Auctions", new {@id = d.Id}, null));


        columns.Add(d => d.IsVisible)
            .Titled("Visible")
            .Sortable(true)
            .Filterable(true)
            .Encoded(false)
            .Sanitized(false)
            .RenderValueAs(d => Html.CheckBox("Visible", d.IsVisible, null));

        columns.Add(d => d.ItemAvailable)
            .Titled("Item available")
            .Sortable(true)
            .Filterable(true)
            .Encoded(false)
            .Sanitized(false)
            .RenderValueAs(d => Html.CheckBox("Item avaiable", d.ItemAvailable, null));

    })

    <button type="submit">Send</button>
}
@使用GridMvc.Html
@模型IQueryable
@{
ViewBag.Title=“拍卖”;
Layout=“\u AdministratorDashboard.cshtml”;
}
@使用(Html.BeginForm())
{
@Grid(Model,newgridrenderoptions{selective=false}).Columns(Columns=>
{
columns.Add(d=>d.Id)
.标题为(“Id”)
.Sortable(true);
columns.Add(d=>d.Title)
.标题为(“标题”)
.Sortable(true)
.可过滤(真)
.消毒(假)
.编码(假)
.RenderValueAs(d=>Html.ActionLink(d.Title,“拍卖”,“拍卖”,new{@id=d.id},null));
columns.Add(d=>d.IsVisible)
.标题为(“可见”)
.Sortable(true)
.可过滤(真)
.编码(假)
.消毒(假)
.RenderValueAs(d=>Html.CheckBox(“可见”,d.IsVisible,null));
columns.Add(d=>d.ItemAvailable)
.标题为(“可用项目”)
.Sortable(true)
.可过滤(真)
.编码(假)
.消毒(假)
.RenderValueAs(d=>Html.CheckBox(“项可用”,d.ItemAvailable,null));
})
发送
}
发布后我想要的是在网格中获取所有发布的数据,并更新一些数据(复选框值)。但当我将其发布到控制器时,我在模型中得到空值:

        [HttpPost]
    public ActionResult GetAllAuctions(ICollection<AuctionViewModel> model)
    {
        //model is null...

        return View();
    }
[HttpPost]
公共行动结果GetAlluctions(ICollection模型)
{
//模型为空。。。
返回视图();
}

我试着用IQueryable、IEnumerable等。这对我没有帮助。可能有人也有类似的问题,并且知道如何解决。

尝试使用fiddler,看看哪些名字会被张贴到动作中。例如,我曾经在视图中发送了数据,如
myModel.Id、myModel.Name
,控制器的操作方式是
ActionResult-MyAction(myModel-model)
。我必须把它改成
MyModel-MyModel
才能工作。谢谢你的提示。我检查了发送给控制器的内容,发现生成了错误:{Id=1017&Id=1018&Id=1019&Id=1020&Id=1021&IsVisible=true&IsVisible=false&IsVisible=false&IsVisible=false&IsVisible=false&IsVisible=false&ItemAvailable=false&ItemAvailable=true&ItemAvailable=false&ItemAvailable=true&ItemAvailable=false&ItemAvailable=true&ItemAvailable=false}