[asp.net-mvc]循环似乎产生相同的值每次

发布时间: 2016/10/9 6:11:15
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

我有一个称为组包含以下两个字符串的字符串数组

  1. 阿尔法group
  2. 组布拉沃

控制器

public ActionResult Task(TaskModel model)
{

    return PartialView(model);
}

索引视图的调用我任务操作

<div id="update">

    @using (Ajax.BeginForm("Task", "Home", new AjaxOptions { UpdateTargetId = "update", InsertionMode = InsertionMode.Replace}))
    {

        <input value="Group Alpha" name="Groups"/>
        <input value="Group Bravo" name="Groups"/>

        <button type="submit">Submit</button>
    }

</div>

我的任务视图

@model MvcApplication4.Models.TaskModel

<div id="container">

        @if (Model.Groups != null)
        {

            foreach (var group in Model.Groups)
            {

                @Html.TextBox("Groups", group, new { @id = String.Empty })                                                         

            }
        } 
</div>

我的任务模型

public class TaskModel : IValidatableObject
{
    public Guid TaskId { get; set; }
    public String Name { get; set; }

    public string[] Groups { get; set; }

    public IEnumerable<ValidationResult> Validate(ValidationContext validationContext)
    {

        yield break;
    }
}

这只输出组阿尔法group阿尔法。哪儿去了??

很抱歉我不清楚之前

复制问题https://www.dropbox.com/s/s2o59cu00am3eov/MvcApplication4.zip的示例项目

解决方法 1:

你帖子一些输入字段命名为 Groups 。在处理这一职务的操作方法,你呈现使用偏 @Html.TextBox("Groups", ...)

@Html.TextBox使用 ModelState 来填充值与以前已过帐值,基于输入的元素名称。在这种情况下它以 Groups 价值它发现在岗位上,"阿尔法小组"。

在呈现你部分的视图之前清除 ModelState (或只需组键)。

这︰

ModelState.Clear();
ModelState.Remove("Groups");

return PartialView(model);

作品。

下一次尝试显示所有相关的代码前面,所以我们不需要这么多的评论,问到你。:-)

赞助商