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

asp.net-mvc-3 – ASP.NET MVC 3 – 在jquery对话框中编辑动态添

发布时间:2020-12-16 00:15:51 所属栏目:asp.Net 来源:网络整理
导读:我是MVC的新手,所以我不确定这里最好的方法是什么. 我有一个包含这样的几个集合的视图模型: public class MainViewModel{ public ListAViewModel A { get; set; } public ListBViewModel B {get; set; } ...} 我正在使用Steve Sanderson的方法here来动态地
我是MVC的新手,所以我不确定这里最好的方法是什么.

我有一个包含这样的几个集合的视图模型:

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

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

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

由于这些项可能是新添加的,因此我无法使用ID属性从控制器返回局部视图.看起来我必须在这样的隐藏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的每次迭代似乎都是稍微改变的最佳方式.

希望这适合你.

(编辑:李大同)

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

    推荐文章
      热点阅读