Je suis nouveau dans la programmation mvc3 asp.net et j'essaye de construire un formulaire spécifique. Je dois avoir un formulaire avec le champ utilisateur (que j'ai) mais aussi une liste d'objet (dans ce cas SStatus).Liste des éléments sélectionnés et autre objet
Ma forme:
@using (Html.BeginForm()) {
@Html.ValidationSummary(true)
<fieldset>
<legend>Création d'utilisateur</legend>
<div class="editor-label">
@Html.LabelFor(model => model.Lastname)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.Lastname)
@Html.ValidationMessageFor(model => model.Lastname)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.Firstname)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.Firstname)
@Html.ValidationMessageFor(model => model.Firstname)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.Email)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.Email)
@Html.ValidationMessageFor(model => model.Email)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.Login)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.Login)
@Html.ValidationMessageFor(model => model.Login)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.Description)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.Description)
@Html.ValidationMessageFor(model => model.Description)
</div>
<p>Status</p>
@{
// L'erreur était ici sous forme
@{
var list = ViewBag.listStatus as List<SStatus>;
}
@if (list != null)
{
foreach(var status in list)
{
<option [email protected]>@status.Name</option>
}
}
</select>
}
<p>
<input type="submit" value="Création" />
</p>
</fieldset>
}
L'appel de la liste:
public ActionResult CreateUserView()
{
RestClient client = new RestClient(Resource.Resource.LocalUrlService);
RestRequest request = new RestRequest("/status/all", Method.GET);
var response = client.Execute(request);
if(response.StatusCode == HttpStatusCode.OK)
{
List<SStatus> listSatus = JsonHelper.FromJson<List<SStatus>>(response.Content);
ViewBag.listStatus = listSatus;
}
return View();
}
et le poste de forme:
[HttpPost]
public ActionResult CreateUserView(Uuser userToCreate, string list)
{
//list got the ID of SStatus.
if (ModelState.IsValid)
{//Stuff}
}
La question est la suivante: Comment obtenir l'élément sélectionné dans la liste?
Cordialement.
Vous affichez semble être fortement typé, mais 'CreateUserView' une propriété ne remplit ViewBag. Comment le 'Uuser' est-il envoyé à la vue? –
Je l'ai construit via le contrôleur (clic droit ajouter une vue). Ainsi, lorsque je soumets le formulaire, l'objet Uuser est correctement envoyé à CreateUserView (POST). – David