gpt4 book ai didi

c# - 添加前缀以控制 id 并仍然绑定(bind) MVC Razor

转载 作者:行者123 更新时间:2023-11-30 12:47:10 27 4
gpt4 key购买 nike

我有一个案例,我有一个显示订单的页面和显示订单详细信息的选项卡。订单详细信息非常复杂,因为它们是相同的布局,所以我想使用将生成表单的部分 View 或编辑器模板。

问题是结果是生成了多个重复的表单输入 ID(每个订单详细信息一个。例如,我有:

foreach (var orderDetail in Model.OrderDetils)
{
@Html.EditorFor(model => orderDetail, "WorkOrder", orderDetail)
}

我已经阅读了很多关于此的内容并看到了建议使用编辑器模板的解决方案,但该解决方案仅在您具有相同的要呈现的表单但传递给它不同的模型属性以便控件 ID 的前缀不同时才有效。 ..IE。 like this solution .

在我的例子中,这不起作用,因为我传递的模型属性始终相同。

那么我还能如何在也将绑定(bind)的部分或编辑器模板中创建唯一 ID。

我知道而不是:

@Html.EditorFor(model => model.WOHdr.Attribute1)

我能做到:

@Html.TextBoxFor(model => model.WOHdr.Attribute1, new { id = Model.Id + "_Attribute1" })

但是当它传递给 Controller ​​时它不会绑定(bind)。

想法?

最佳答案

试试这个

@Html.TextBoxFor(model => model.WOHdr.Attribute1, new { @id = @Model.Id + "_Attribute1" })

使用“@”+动态值。现在您将获得唯一的 ID

在EditorFor中可以这样使用

@Html.EditorFor(model => model.WOHdr.Attribute1, null, "id=" + @Model.Id + "" )

id会这样生成

id="id_1", id="id_2" and so on..

关于c# - 添加前缀以控制 id 并仍然绑定(bind) MVC Razor,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17607172/

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