ahs*_*ele 5 asp.net-mvc form-submit
在ASP.NET MVC应用程序中,我尝试使用单个表单提交多个对象.我可以让简单的类型回发,但是我遇到了复杂类型的问题.我觉得我已经模仿Phil Haack在他的博客文章Binding To A List中提供的例子,但没有运气.即使复制他的代码到目前为止无济于事.
我试图填充ProjectNum和TaskNum一组属性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; }
}
Run Code Online (Sandbox Code Playgroud)
行动
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult TrueUp(int id, IList<MachineLicenseBillback> machinePts)
{
// ...
}
Run Code Online (Sandbox Code Playgroud)
形成
<% 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" />
<% } %>
Run Code Online (Sandbox Code Playgroud)
MVC 1 RTM 中删除了 .Index 语法,并在 MVC 2 中重新引入。对于 MVC 1,列表元素必须按顺序编号:machinePts[0]、machinePts[1] 等。
| 归档时间: |
|
| 查看次数: |
5380 次 |
| 最近记录: |