привязка модели IList пользовательского объекта - PullRequest
0 голосов
/ 21 декабря 2010

У меня есть класс A, который содержит:

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, связывающая параметр IList <>

, что привязка модели должна иметь возможность заполнять списки, такие как 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 Ответ

1 голос
/ 22 декабря 2010

Пожалуйста, не стесняйтесь голосовать за удаление.Решением является замена элементов с помощью FilterList.Вот и все.

Кристиан

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...