asp.net-mvc - ASP.NET MVC 编辑多个子记录的示例

标签 asp.net-mvc master-detail

有谁知道 MVC View 的任何示例或教程,该 View 在一个表单上显示所有父/子数据,并允许所有子记录可编辑?

例如,假设我有一个人员表和另一个包含他们拥有的车辆的表。一对一的形式,我想显示给定人的每辆车,并使数据元素可编辑(即车牌号、汽车颜色等),以防出现错误。我不想跳转到每辆车的单独编辑表单。

到目前为止,我的尝试已经使我能够显示数据,但无法将其发送回 Controller 。我已尽力缩小问题范围 here ,但我仍然不明白,我认为可能需要一个更广泛的例子。有什么想法吗?

最佳答案

你可以尝试这样的事情。

假设你有这个对象:

public class Vehicle
{
    public int VehicleID { get; set; }
    public string LicencePlate { get; set; }
    public string Color { get; set; }
}

这是您的 Controller 操作,您将用它来编辑车辆详细信息(您将在其中发布表单):

[AcceptVerbs(HttpVerbs.Post)]
public ActionResult EditVehicles(int Owner, Vehicle[] vehicles)
{
    //manipulate the data, then return back to the list
    return RedirectToAction("YourAction");
}

那么你应该这样设置你的表单:

<!--have a form for each person, listing their vehicles-->
<form action="/EditVehicles" method="post">
    <input type="hidden" name="Owner" value="25" />
    <input type="hidden" name="Vehicles[0].VehicleID" value="10" />
    <input type="text" name="Vehicles[0].LicencePlate" value="111-111" />
    <input type="text" name="Vehicles[0].Color" value="Red" />
    <input type="hidden" name="Vehicles[1].VehicleID" value="20" />
    <input type="text" name="Vehicles[1].LicencePlate" value="222-222" />
    <input type="text" name="Vehicles[1].Color" value="Blue" />
    <input type="submit" value="Edit" />
</form>

这将帮助 DefaultModelBinder 将表单数据正确绑定(bind)到 Controller 中的模型。因此Response.Write(vehicles[1].Color);在您的 Controller 上,将打印“Blue”。

这是一个非常简单的示例,但我相信您已经明白了。有关将表单绑定(bind)到数组、列表、集合、字典的更多示例,请查看 here .

关于asp.net-mvc - ASP.NET MVC 编辑多个子记录的示例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/711184/

相关文章:

c# - 'ZipArchiveEntry' 不包含 'ExtractToFile' 的定义

c# - 在一个解决方案中的两个项目中使用Ninject,出现循环依赖异常

ios - 在 Xcode 4.2 中为 iPad 创建一个简单的 Master Detail(Split View)应用程序

ios - 在 Master/Detail 应用程序中使用 removeObserver 的正确方法

ios - 有什么方法可以让我知道导航推送何时完成?

mvvm - Xceed Datagrid 在选择子项时丢失 SelectedItem

java - 使用 JTable 掌握细节

c# - 使用 AJAX MVC 4 填充 DropDownList

c# - MVC 发送对象列表

c# - 如何使用 JSON 嵌套对象