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

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

发布时间:2020-12-15 18:46:50 所属栏目:asp.Net 来源:网络整理
导读:有没有人知道MVC视图的任何示例或教程,在一个表单上显示父/子数据,并允许所有的子记录是可编辑的? 例如,说我有一张桌子,另一个包含他们拥有的车辆。一种形式,我想为给定的人显示每辆车,并且使数据元素可编辑(即车牌号码,车辆颜色等)以防万一出现错误
有没有人知道MVC视图的任何示例或教程,在一个表单上显示父/子数据,并允许所有的子记录是可编辑的?

例如,说我有一张桌子,另一个包含他们拥有的车辆。一种形式,我想为给定的人显示每辆车,并且使数据元素可编辑(即车牌号码,车辆颜色等)以防万一出现错误。我不想跳转到每个车辆的单独编辑表单。

我到目前为止的尝试让我到了可以显示数据的位置,但是我无法将其发回到控制器。我试图把这个问题尽量缩小到here,但是我还没有得到它,我认为更广泛的例子可能是有序的。有任何想法吗?

解决方法

你可以尝试这样的东西。

假设你有这个对象:

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

这是您的控制器操作,您将用于编辑车辆细节(您将在哪里发布表单):

[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将表单数据正确绑定到控制器中的模型中。因此Response.Write(车辆[1] .Color))在您的控制器上,将打印“蓝色”。

这是一个非常简单的例子,但我相信你会得到这个想法。有关将表单绑定到数组,列表,集合和字典的更多示例,请查看here。

(编辑:李大同)

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

    推荐文章
      热点阅读