加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc-3 – .NET MVC – 一次提交多个相同类型的模型

发布时间:2020-12-16 06:29:52 所属栏目:asp.Net 来源:网络整理
导读:我想我有一个非常简单的场景,但似乎无法掌握如何在.NET的MVC框架中做到这一点.最简单的是,这是一种具有排名的人.我想在一个页面上列出他们名字旁边的每个人的姓名和文本框.这是(Razor) Html的样子: @using (Html.BeginForm()) {fieldset @foreach (var b in
我想我有一个非常简单的场景,但似乎无法掌握如何在.NET的MVC框架中做到这一点.最简单的是,这是一种具有排名的人.我想在一个页面上列出他们名字旁边的每个人的姓名和文本框.这是(Razor) Html的样子:

@using (Html.BeginForm()) {
<fieldset>
    @foreach (var b in Model.Ballots) {
        <p>
            <label>@b.Person.FullName</label>
            @Html.TextBox("Rank")
            @Html.ValidationMessage("Rank")
        </p>
    }
</fieldset>
 <input type="submit" value="Vote" />

}

选票是一个简单的对象,有一个人和一个排名:

public class Ballot {
    public Person Person { get; set; }
    [Range(1,6,ErrorMessage="The voting range is 1 through 6")]
    public int Rank { get; set; }
}

这是我的控制器处理表单提交的方法,但它永远不会被调用.

[AcceptVerbs("POST")]
    public ActionResult Vote(IEnumerable<Ballot> ballots) {

        return View("BallotComplete");
    }

如何迭代表单提交回服务器的所有模型?

解决方法

我使用Customer对象做了一个快速示例,但我认为它类似.请注意表单字段的标签方式.以控制器中的参数名称作为前缀.需要索引作为集合处理.你的可能会稍微复杂一点,因为你有一个嵌套的类. (选票内的人).我认为通过做客户[@counter] .Person.Id表单字段可以工作.对不起,我没有选票的例子.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读