Bonjour,
Suite à la création d'une application MVC3 ASP.NET, je rencontre quelques problèmes dans le passage des données entre la vue et le controlleur.
Voici mon problème : Dans une vue, j'ai une liste d'objets (contenants des entiers) que je dois pouvoir éditer
Code ASP.NET :
<% using (Html.BeginForm())
{ %>
<%: Html.ValidationSummary(true) %>
<fieldset>
<legend>Topic</legend>
<% foreach (var item in Model)
{%>
<div class="editor-label">
<%:item.TopicPATH%>
- from 00h to 23h
</div>
<% int topicTHRESHOLD00 = item.TopicTHRESHOLD00;
int topicTHRESHOLD01 = item.TopicTHRESHOLD01;
int topicTHRESHOLD02 = item.TopicTHRESHOLD02;
int topicTHRESHOLD03 = item.TopicTHRESHOLD03;
int topicTHRESHOLD04 = item.TopicTHRESHOLD04;
int topicTHRESHOLD05 = item.TopicTHRESHOLD05;
int topicTHRESHOLD06 = item.TopicTHRESHOLD06;
int topicTHRESHOLD07 = item.TopicTHRESHOLD07;
int topicTHRESHOLD08 = item.TopicTHRESHOLD08;
int topicTHRESHOLD09 = item.TopicTHRESHOLD09;
int topicTHRESHOLD10 = item.TopicTHRESHOLD10;
int topicTHRESHOLD11 = item.TopicTHRESHOLD11;
int topicTHRESHOLD12 = item.TopicTHRESHOLD12;
int topicTHRESHOLD13 = item.TopicTHRESHOLD13;
int topicTHRESHOLD14 = item.TopicTHRESHOLD14;
int topicTHRESHOLD15 = item.TopicTHRESHOLD15;
int topicTHRESHOLD16 = item.TopicTHRESHOLD16;
int topicTHRESHOLD17 = item.TopicTHRESHOLD17;
int topicTHRESHOLD18 = item.TopicTHRESHOLD18;
int topicTHRESHOLD19 = item.TopicTHRESHOLD19;
int topicTHRESHOLD20 = item.TopicTHRESHOLD20;
int topicTHRESHOLD21 = item.TopicTHRESHOLD21;
int topicTHRESHOLD22 = item.TopicTHRESHOLD22;
int topicTHRESHOLD23 = item.TopicTHRESHOLD23;
%>
<div class="editor-field">
Seuil 00h00 :
<%: Html.EditorFor(topic => topicTHRESHOLD00)%>
<%: Html.ValidationMessageFor(topic => topicTHRESHOLD00)%>
Seuil 01h00 :
<%: Html.EditorFor(topic => topicTHRESHOLD01)%>
<%: Html.ValidationMessageFor(topic => topicTHRESHOLD01)%>
Seuil 02h00 :
<%: Html.EditorFor(topic => topicTHRESHOLD02)%>
<%: Html.ValidationMessageFor(topic => topicTHRESHOLD02)%>
Seuil 03h00 :
<%: Html.EditorFor(topic => topicTHRESHOLD03)%>
<%: Html.ValidationMessageFor(topic => topicTHRESHOLD03)%>
<br />
Seuil 04h00 :
<%: Html.EditorFor(topic => topicTHRESHOLD04)%>
<%: Html.ValidationMessageFor(topic => topicTHRESHOLD04)%>
Seuil 05h00 :
<%: Html.EditorFor(topic => topicTHRESHOLD05)%>
<%: Html.ValidationMessageFor(topic => topicTHRESHOLD05)%>
Seuil 06h00 :
<%: Html.EditorFor(topic => topicTHRESHOLD06)%>
<%: Html.ValidationMessageFor(topic => topicTHRESHOLD06)%>
Seuil 07h00 :
<%: Html.EditorFor(topic => topicTHRESHOLD07)%>
<%: Html.ValidationMessageFor(topic => topicTHRESHOLD07)%>
<br />
Seuil 08h00 :
<%: Html.EditorFor(topic => topicTHRESHOLD08)%>
<%: Html.ValidationMessageFor(topic => topicTHRESHOLD08)%>
Seuil 09h00 :
<%: Html.EditorFor(topic => topicTHRESHOLD09)%>
<%: Html.ValidationMessageFor(topic => topicTHRESHOLD09)%>
Seuil 10h00 :
<%: Html.EditorFor(topic => topicTHRESHOLD10)%>
<%: Html.ValidationMessageFor(topic => topicTHRESHOLD10)%>
Seuil 11h00 :
<%: Html.EditorFor(topic => topicTHRESHOLD11)%>
<%: Html.ValidationMessageFor(topic => topicTHRESHOLD11)%>
<br />
Seuil 12h00 :
<%: Html.EditorFor(topic => topicTHRESHOLD12)%>
<%: Html.ValidationMessageFor(topic => topicTHRESHOLD12)%>
Seuil 13h00 :
<%: Html.EditorFor(topic => topicTHRESHOLD13)%>
<%: Html.ValidationMessageFor(topic => topicTHRESHOLD13)%>
Seuil 14h00 :
<%: Html.EditorFor(topic => topicTHRESHOLD14)%>
<%: Html.ValidationMessageFor(topic => topicTHRESHOLD14)%>
Seuil 15h00 :
<%: Html.EditorFor(topic => topicTHRESHOLD15)%>
<%: Html.ValidationMessageFor(topic => topicTHRESHOLD15)%>
<br />
Seuil 16h00 :
<%: Html.EditorFor(topic => topicTHRESHOLD16)%>
<%: Html.ValidationMessageFor(topic => topicTHRESHOLD16)%>
Seuil 17h00 :
<%: Html.EditorFor(topic => topicTHRESHOLD17)%>
<%: Html.ValidationMessageFor(topic => topicTHRESHOLD17)%>
Seuil 18h00 :
<%: Html.EditorFor(topic => topicTHRESHOLD18)%>
<%: Html.ValidationMessageFor(topic => topicTHRESHOLD18)%>
Seuil 19h00 :
<%: Html.EditorFor(topic => topicTHRESHOLD19)%>
<%: Html.ValidationMessageFor(topic => topicTHRESHOLD19)%>
<br />
Seuil 20h00 :
<%: Html.EditorFor(topic => topicTHRESHOLD20)%>
<%: Html.ValidationMessageFor(topic => topicTHRESHOLD20)%>
Seuil 21h00 :
<%: Html.EditorFor(topic => topicTHRESHOLD21)%>
<%: Html.ValidationMessageFor(topic => topicTHRESHOLD21)%>
Seuil 22h00 :
<%: Html.EditorFor(topic => topicTHRESHOLD22)%>
<%: Html.ValidationMessageFor(topic => topicTHRESHOLD22)%>
Seuil 23h00 :
<%: Html.EditorFor(topic => topicTHRESHOLD23)%>
<%: Html.ValidationMessageFor(topic => topicTHRESHOLD23)%>
</div>
<% }%>
<p>
<input type="submit" value="Save" />
</p>
</fieldset>
<% } %>
Je souhaite ensuite le récupérer dans le contrôleur comme suit :
Code C# :
[HttpPost]
public ActionResult EditTopic(FormCollection oFormCollection, int id)
Dans oFormCollection, je ne récupère qu'un seul objet (qui contient lui même plusieurs type d'entiers).
Le but final étant de pouvoir éditer des valeurs, et que celles ci soient prises en compte dans une Base de données SQL_Server. (Le modèle a été créé via Entity Framework).
Merci pour votre aide !