2015-09-08 2 views
1

У меня есть следующие моделиMVC5 бритва - Перечень элементов редактирования

public class Person 
{ 
    public string Name { get; set; } 
    public IList<Phone> PhoneNumbers { get; set; } 

} 

public class Phone 
{ 
    public string Number { get; set; } 
} 

Пусть у меня есть следующие действия:

public ActionResult Edit() 
    { 
     Person p = new Person 
     { 
      Name = "John K.", 
      PhoneNumbers = new List<Phone> 
      { 
       new Phone {Number = "555-555-5555"}, 
       new Phone {Number = "555-123-4444"} 
      } 
     }; 

     return View(p); 
    } 

Я хотел бы вид, что позволяет пользователю добавлять/удалять/изменить номера телефонов.

Я искал много для простого решения ... Я не могу поверить, что такой сценарий, который происходит часто не может справиться легко ...

+0

Какая у вас конкретная проблема? Что-то бросает исключения? Если да, то в чем исключение? Прямо сейчас, я не вижу ни одного вопросительного знака на вашем посту. Если это запрос учебника о том, как разрешить кому-либо редактировать коллекцию элементов, StackOverflow не является местом для такого вопроса. – Becuzz

+0

Если 'Телефон' содержит только одно свойство, то вы можете также изменить' public IList PhoneNumbers {get; задавать; } 'public IList PhoneNumbers {get; задавать; } 'и удалить класс. Тогда в представлении все, что вам нужно, - это динамически добавить '', и коллекция будет правильно привязана. –

+0

Если вам нужны дополнительные свойства 'Phone', тогда обратитесь к ответам [здесь] (http://stackoverflow.com/questions/29161481/post-a-form-array-without-successful/29161796#29161796) и [ здесь] (http://stackoverflow.com/questions/28019793/submit-same-partial-view-called-multiple-times-data-to-controller/28081308#28081308) –

ответ

-1

Вы можете использовать Visual studio scaffolding

+1

Как строительные леса могут помочь в динамическом добавлении новой коллекции предметы в форме! –

-1

Хотя не специфичный для ASP.NET MVC, вашу проблему можно решить, используя knockout.js. В случае, если вы не использовали его раньше, не так сложно подобрать, и основы этой функции будут делать. В общем, что бы вы сделали, проанализируйте свою модель C# в модели с нокаутом, где вы ведете данные. Все действия, такие как создание, удаление или изменение, будут сделаны для этой модели представления, и эта модель будет отправлена ​​на ваше действие POST в контроллере.

Пример: http://knockoutjs.com/examples/collections.html

Смежные вопросы