gpt4 book ai didi

asp.net-mvc-3 - ASP.NET MVC 3 - 在 jquery 对话框中编辑动态添加到模型集合的项目

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

我是 MVC 新手,所以我不确定这里最好的方法是什么。

我有一个 View 模型,其中包含多个像这样的集合:

public class MainViewModel{      
public List<AViewModel> A { get; set; }
public List<BViewModel> B {get; set; }
...}

我正在使用 Steve Sanderson 的方法 here动态地将项目添加到集合中,只要子项目在主视图上可编辑,它就可以正常工作。

我遇到的问题是返回一个带有编辑链接的只读列表,该链接将打开详细信息以在弹出对话框中进行编辑。

由于这些项目可能是新添加的,因此我无法使用 ID 属性从 Controller 返回部分 View 。看来我必须在隐藏的 div 中渲染编辑器,如下所示:

    <div class="AEditorRow">
@using (Html.BeginCollectionItem("A"))
{
@Html.DisplayFor(l => l.ID)

@Html.DisplayFor(l => l.Name)

@Html.DisplayFor(l => l.Code)

<a href="#" onclick="$('#detailsPopup').html($(this).parent().find('.ADetails').html() ).dialog()">edit</a> <text>|</text>
<a href="#" class="deleteRow">delete</a>

<div class="ADetails" style="display: none">
@using (Html.BeginForm("EditA", "Controller"))
{<fieldset>
<legend>Location</legend>
@Html.HiddenFor(model => model.ID)
<div class="editor-label">
@Html.LabelFor(model => model.Code)
</div>

有谁知道更好的方法吗?

最佳答案

在解决这个问题一段时间后,我找到了适合我的演练。

http://jarrettmeyer.com/post/2995732471/nested-collection-models-in-asp-net-mvc-3

我认为这是为 MVC3 实现动态添加嵌套集合对象的最适用的技术。我发现的大多数其他建议都是针对 MVC2 或 MVC1 的,而且似乎 MVC 的每次迭代都是完成此更改的最佳方法。

希望这对您有用。

关于asp.net-mvc-3 - ASP.NET MVC 3 - 在 jquery 对话框中编辑动态添加到模型集合的项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6049030/

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