J'ai quelque chose comme çaPourquoi cela fonctionne-t-il?
public class ViewModel
{
public List<Books> Test {get; set;}
public SelectList List {get; set;}
public ViewModel()
{
Test = new List<Books>();
}
}
public class Books
{
public string SelectedItemFromList {get; set;}
public int forTextbox {get; set;}
}
view
<% for (int i = 0; i < 1; i++)
{ %>
<%: Html.DropDownListFor(m => ViewModel.Books[i].SelectedItemFromList, SelectList); // works no error
<%: Html.TextBoxFor(m => ViewModel.Books[i].forTextBox) // fails range exception.
<% } %>
Je trouve étrange que les œuvres DropDownList mais la zone de texte ne fonctionne pas. Pour rendre le travail textbox je dois faire
Public ViewModel()
{
Test = new List<Books>();
Test.add(new Books() { forTextbox = 1});
}
Cela est logique d'être parce que avant que je passais à la vue une liste vide de livres, mais juste si étrange que cela fonctionne pour l'un et pas l'autre . Je pense que les deux échoueraient.
Dans votre contrôleur, faites-vous 'return View()' ou 'return View (viewModel)' – Robaticus