Заключение в изображениях, можно найти внизу
У меня возникли проблемы с тем, как понять, как формы работают в MVC (так как я разработчик WebForms и действительно хочу начать использовать MVC в одном большом проекте)
Я взял веб-проект MVC2 и добавил к нему простую модель представления
namespace TestForms.Models
{
public class myFormViewModel
{
public myFormViewModel() { this.Options = new List<myList>(); }
public string Name { get; set; }
public string Email { get; set; }
public List<myList> Options { get; set; }
}
public class myList
{
public myList() { this.Value = this.Name = ""; this.Required = false; }
public string Name { get; set; }
public string Value { get; set; }
public string Type { get; set; }
public bool Required { get; set; }
}
}
Создал строго типизированное представление , передал новый объект в представление и запустил его.
Когда я нажимаю "Отправить", он не возвращает то, что находится в Options
части ... как я могу также связать это ?
мой взгляд
альтернативный текст http://www.balexandre.com/temp/2010-10-11_1357.png
заполняя сгенерированную форму
альтернативный текст http://www.balexandre.com/temp/2010-10-11_1353.png
когда я нажимаю Отправить часть Options
не передается в модель! Что я забыл?
альтернативный текст http://www.balexandre.com/temp/2010-10-11_1352.png
Заключение
Изменив цикл просмотра для выделения порядкового номера, теперь у нас есть
<%= Html.TextBox("model.Options[" + i + "].Value", option.Value)%>
model
- это имя нашей переменной модели, которую мы передаем в представление
Options
- это имя свойства типа List
а затем мы используем имя свойства