Dans mon interface I ont une liste de zones de texte, quelque chose comme ceci: http://screencast.com/t/YjIxNjUyNmUASP.Net MVC 2 - ModelBinding et Dictionnaire <int, int>
Le nombre de zones de texte est inconnu car chacun d'eux est associé à un modèle. Dans ma page, l'objectif est d'associer un nombre à certains de ces modèles.
Voici un exemple de code HTML:
<% // loop on the templates
foreach(ITemplate template in templates)
{
// get the content from the input dictionary
int val;
content.TryGetValue(template.Id, out val);
// convert it as a string
string value = ((val > 0) ? val.ToString() : string.Empty);
// compute the element name/id (for dictionary binding)
string id = ??????????
string name = ??????????????
%>
<label for="<%= name %>"><%= template.Name %></label>
<input type="text" id="<%= id %>" name="<%= name %>" value="<%= value %>" />
<br />
<% }
%>
Ce que je pense, dans mon contrôleur, est d'obtenir un IDictionary où le premier int est l'ID de modèle, et l'autre est le nombre donné par l'utilisateur .
Voici ce que je veux:
public ActionResult Save(int? id, Dictionary<int, int> countByTemplate)
J'ai essayé beaucoup de choses, mais rien ne fonctionnait. J'ai essayé de lire les sources, mais c'est un labyrinthe, et je suis en train d'essayer d'obtenir des informations sur la liaison du modèle.
Questions:
- est-il une bonne sur la façon dont la ressource modelbinding fonctionne? Je voudrais quelque chose d'exhaustif, j'en ai marre des 84093043 blogs qui parlent d'un exemple précis donné.
- comment puis-je construire mon HTML, en utilisant pour obtenir un IDictionary (ou même un IDictionary dans l'action de mon contrôleur?
Merci beaucoup pour votre aide
Essayez 'ActionResult publique Save (int? Id, Dictionnaire CBT)' –
Merci, cela vaut mieux! – Mose