首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MVC C#复杂模型编辑

MVC C#复杂模型编辑
EN

Stack Overflow用户
提问于 2013-01-08 20:31:55
回答 2查看 420关注 0票数 1

我正在尝试找到一种在我的数据库中编辑条目的方法,我的模型是这样的:

代码语言:javascript
复制
public class ComplexModel {
public int id {get;set;}
public string Name {get;set;}
public List<Lines> FavoriteNumbers {get;set;}
}

public class Lines{
public int id {get ;set ;} 
public string FavoriteLetter {get;set;}
}

我的视图具有列出输入框的功能

代码语言:javascript
复制
@model MvcApplication.Models.ComplexModel
@using(BeginForm()){
<fieldset>
<legend>Enter your name</legend>
@Html.EditorFor(model=>model.Name)
</fieldset>
@foreach (var item in Model.FavoriteNumber)
            {       

              <fieldset>
                <legend>Favorite number:</legend>
                @Html.EditorFor(model=>item.FavoriteLetter)
              </fieldset>
            }
<input type="submit" value="Save">
}

可以用这种方式编辑ComplexModel中的每一行吗?我试图编辑,但在控制器中,它显示我的列表为空/空。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-01-08 20:40:32

使用for循环而不是foreach。它看起来像这样:

代码语言:javascript
复制
@for (int i=0; i < Model.FavoriteNumbers.Count; i++)
        {       
          <fieldset>
            <legend>Favorite number:</legend>
            @Html.EditorFor(model=>model.FavoriteNumbers[i].FavoriteLetter)
            @Html.HiddenFor(model=>model.FavoriteNumbers[i].id)
          </fieldset>
        }

我添加了带有id的HiddenFor,以确保发布了该项目的内容。否则,如果数据已过帐,并且某个字段为空,则列表将被断开。

票数 0
EN

Stack Overflow用户

发布于 2013-01-08 20:40:13

你应该使用Model.FavoriteNumberS,而不是Model.FavoriteNumber...

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14215030

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档