ASP.NET MVC动态列表绑定

时间:2010-12-02 17:27:36

标签: asp.net-mvc-2 list binding strong-typing

我有一个强类型的mvc页面,我不会将无序列表绑定到对象列表。所以在mvc视图中它可能看起来像

<% foreach (var item in Model.WhatYouDoL) { %>
<li><%: Html.Encode(item.Text) %><input type="hidden" name="WhatYouDoL[0].Reference" /></li>
<% } %>

我的视图模型可能类似于

public class ViewModelQuoteWhatYouDoInMotorTrade
    {
        public List<WhatYouDo> WhatYouDoL { get; set; }
    }

我的列表包含像

这样的对象
public struct WhatYouDo
    {

        public decimal Percent { get; set; }
        public string Reference { get; set; }
        public string Text { get; set; }
    }

这个绑定好,只要我使用WhatYouDoL [0]。使用索引([0])引用,加载时我可以用索引设置。问题是我想在客户端添加和删除此列表。所以我可能会有一些js添加和额外的列表项并删除当前。这意味着我必须以某种方式管理名称中的索引并保持它们在客户端的顺序和非重复。有没有人知道是否有办法在名称中使用索引。

提前致谢。

1 个答案:

答案 0 :(得分:0)

可能有一个错误:

<% foreach (var item in Model.WhatYouDoL) { %>
<li><%: Html.Encode(item.Text) %><input type="hidden" name="WhatYouDoL[0].Reference" /></li>
<% } %>

也许应该是:

<% foreach (var item in Model.WhatYouDoL) { %>
<li><%: item.Text %><input type="hidden" name="<%: item.Reference %>" /></li>
<% } %>

只要您使用<: proof

,就无需进行编码