gpt4 book ai didi

asp.net-mvc - ASP.NET MVC - 使用表单发布多个复杂对象

转载 作者:行者123 更新时间:2023-12-02 08:51:38 25 4
gpt4 key购买 nike

在 ASP.NET MVC 应用程序中,我尝试使用单个表单提交多个对象。我能够将简单类型发回,但在处理复杂类型时遇到问题。我觉得我模仿了 Phil Haack 在他的博客文章 Model Binding To A List 中提供的示例但没有运气。即使完全复制他的代码也无济于事。

我正在尝试填充 ProjectNumTaskNum一组 MachineLicenseBillback 的属性对象。不幸的是IList<MachineLicenseBillback> machinePts发布时总是以 null 结束。

我错过了什么?

类别

public class MachineLicenseBillback
{
public MachineLicenseBillback() { }

public virtual int MachineId { get; set; }
public virtual string ProjectNum { get; set; }
public virtual string TaskNum { get; set; }
public virtual string VerifiedFlag { get; set; }
public virtual DateTime? RcdChgDateTime { get; set; }
public virtual string RcdChgAgent { get; set; }
}

行动

[AcceptVerbs(HttpVerbs.Post)]
public ActionResult TrueUp(int id, IList<MachineLicenseBillback> machinePts)
{
// ...
}

表单

<% using (Html.BeginForm("TrueUp", "Home", new { id = Model.Customer.Id },
FormMethod.Post))
{ %>
<input type="hidden" name="machinePts.Index" value="<%= machine.MachineId %>" />

<input type="text" name="machinePts[<%= machine.MachineId%>].ProjectNum"
value="<%= machine.MachineLicenseBillback.ProjectNum %>" />

<input type="text" name="machinePts[<%= machine.MachineId %>].TaskNum"
value="<%= machine.MachineLicenseBillback.TaskNum %>" />

<input type="submit" value="Submit" />
<% } %>

最佳答案

MVC 1 RTM 中删除了 .Index 语法,并在 MVC 2 中重新引入。对于 MVC 1,列表元素必须按顺序编号:machinePts[0]、machinePts[1] 等。

关于asp.net-mvc - ASP.NET MVC - 使用表单发布多个复杂对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2136449/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com