Asp.net mvc MVC 4:将所选来宾详细信息表单视图传递给控制器

Asp.net mvc MVC 4:将所选来宾详细信息表单视图传递给控制器,asp.net-mvc,asp.net-mvc-4,Asp.net Mvc,Asp.net Mvc 4,我的视图中有客人列表(我得到了整个列表),在他们到达时,我必须将他们标记为已到达。 我等待30分钟,点击提交按钮将所有细节提交给服务器 我将提交,客人ID和到达服务器的状态 我不知道如何将最后一个活动来宾从视图传递到服务器 我的控制器 [HttpPost] public ActionResult GuestList(GuestListForModel collection) { var temp = collection; return View

我的视图中有客人列表(我得到了整个列表),在他们到达时,我必须将他们标记为已到达。 我等待30分钟,点击提交按钮将所有细节提交给服务器

我将提交,客人ID和到达服务器的状态

我不知道如何将最后一个活动来宾从视图传递到服务器

我的控制器

[HttpPost]
    public ActionResult GuestList(GuestListForModel collection)
    {
        var temp = collection;

        return View();
    }    
MyView

    @using (Html.BeginForm("GuestList", "Guest"))
     {
     @foreach (var saiList in Model.GuestArrivalInfoList)
                 { 
                    <li class="group">
                        <div class="IB left">
                            <img src="images/user-1.png" alt="" class="stdImg rds50" width="100" height="100" />
                        </div>
                        <div class="left brRgt nameAge">
                            <div class="group">
                                <a href="#">@saiList.FirstName @saiList.LastName</a>
                                <div class="age">@saiList.Age<span class="font9">yrs</span></div>
                            </div>                        
                        </div>                   

               <footer class="group">
                <div class="sheet brRgt left">
                    <span class="font9 dblock">present</span>
                    <div>@Model.Present</div>
                </div>
                <div  class="sheet brRgt left">
                    <span class="font9 dblock">@Model.Absent</span>
                    <div>1</div>
                </div>
                <div  class="sheet brRgt left">
                    <span class="font9 dblock">Model.NoAttendance</span>
                     <div>1</div>
                </div>
                <input type="submit" value="Save" id="Save" />              
            </footer>
附言:我在谷歌上找不到满意的答案


提前感谢

您需要进行两项更改:

更改GuestList操作以接受集合:

[HttpPost]
public ActionResult GuestList(ICollection<GuestListForModel> collection)
{
    var temp = collection;

    //do your processing    

    return View();
}
[HttpPost]
public ActionResult访客列表(ICollection集合)
{
var-temp=收集;
//做你的处理
返回视图();
}
使用for循环呈现来宾列表

@for(var i = 0; i < Model.GuestArrivalInfoList.Count; i++)
{
    @Html.TextBoxFor(m => Model.GuestArrivalInfoList[i].GuestID)
}
(变量i=0;iModel.GuestArrivalInfoList[i].GuestID) } Razor/ASP.NET将负责在渲染时在视图模型中设置正确的id(例如,
GuestID
的id为“
GuestArrivalInfoList[1].GuestID
”),并在点击操作时处理模型绑定,确保字段集合映射到集合中

我假设您的视图模型和GuestListForModel中缺少/额外的详细信息,以确保您有正确的来回数据(例如,我在视图中看不到GuestID)

@for(var i = 0; i < Model.GuestArrivalInfoList.Count; i++)
{
    @Html.TextBoxFor(m => Model.GuestArrivalInfoList[i].GuestID)
}