2010-12-21 38 views
0

我有一个A类包含:模型绑定自定义对象的IList的

public IList<PropertyValueOperators> FilterList { get; set; } 

其中PropertyValueOperators:

public class PropertyValueOperators 
    { 
     public string Property { get; set; } 
     public string Value { get; set; } 
     public string LikeOperator { get; set; } 
    } 

我也有一个强类型的视图基于类A.这将创建一个表单我已经在这里阅读:

ASP.NET MVC model binding an IList<> parameter

,该模型结合SH乌尔德能够填充列表,如FilterList所以我已经实现了HTML,它生成这样的事情:

<label for="items[0].Property">Filter By</label>  
<select id="items[0]_Property" name="items[0].Property"> 
    <option selected="selected" value="Item.Id">DBId</option> 
    <option value="Category_ItemName.Name">Name</option> 
    </select> 
    <label for="items[0].LikeOperator">Filter Operator</label> 
    <select id="items[0]_LikeOperator" name="items[0].LikeOperator"> 
    <option value="Contains">Contains</option> 
    <option value="EndsWith">Ends With</option> 
    <option selected="selected" value="Equals">Equals</option> 
    <option value="Starts With">Starts With</option> 
    </select> 
    <label for="items[0].Value">Filter Value</label> 
    <input name="items[0].Value" style="width: 100px;" value="920058" id="items[0]_Value" width="5" type="text"> 
    <br> 
    <label for="items[1].Property">Filter By</label> 
    <select id="items[1]_Property" name="items[1].Property"> 
    <option value="Item.Id">DBId</option> 
    <option selected="selected" value="Category_ItemName.Name">Name</option> 
    </select> 
    <label for="items[1].LikeOperator">Filter Operator</label> 
    <select id="items[1]_LikeOperator" name="items[1].LikeOperator"> 
    <option value="Contains">Contains</option> 
    <option value="EndsWith">Ends With</option> 
    <option value="Equals">Equals</option> 
    <option selected="selected" value="Starts With">Starts With</option> 
    </select> 
    <label for="items[1].Value">Filter Value</label> 
    <input name="items[1].Value" style="width: 100px;" value="" id="items[1]_Value" width="5" type="text"> 

不幸的是,当我张贴这种形式,FilterList具有0计数你能看到什么了吗?或者仅仅是不可能实现我想要的而不实现自定义模型绑定器?

谢谢。

基督教

+1

是您的控制器行动采取这样'的IList items'参数签名? – DaveParsons 2010-12-21 11:41:56

+0

否需要包含FilterList的A的实例。 OMG我只注意到我应该重命名项目到FilterList ...会试试这个。 – cs0815 2010-12-21 11:47:25

+2

@DaveParsons只是提交一个答案'用FilterList替换项目'这个工作。你让我走上了正确的道路,谢谢! – cs0815 2010-12-21 11:50:10

回答

1

请随时投票删除。解决方案是用FilterList替换项目。而已。

基督教