Partial View avec MVC4

Fermé
bender86 Messages postés 61 Date d'inscription mercredi 12 janvier 2011 Statut Membre Dernière intervention 19 mars 2014 - 14 janv. 2014 à 11:22
Bonjour,

Je débute en MVC et j'aimerai faire une partial view pour proposer dans une listbox, la liste de toutes les catégories que peut avoir un contact (ex: customer,admin, seller,...)

J'ai donc créé une partial view (PVLbx)

J'ai ceci dans mon controller:
public ActionResult Edit(long id = 0)
{
Contact contact = db.Contact.Find(id);
if (contact == null)
{
return HttpNotFound();
}
ViewBag.SocietyID = new SelectList(db.Society, "ID", "Name", contact.SocietyID);
ViewBag.Categories= db.Category.ToList();
return View(contact);
}

ici ma vue où je veux inclure ma partial view

1) Je ne trouve pas ce qu'il faut passer à l'appel de partial view?

@model SocialLink.Models.Contact

@{
ViewBag.Title = "Edit";
}

<h2>Edit</h2>

@using (Html.BeginForm()) {
@Html.AntiForgeryToken()
@Html.ValidationSummary(true)

<fieldset>
<legend>Contact</legend>

@Html.HiddenFor(model => model.ID)

<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.Password)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.Password)
@Html.ValidationMessageFor(model => model.Password)
</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.Name)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.Name)
@Html.ValidationMessageFor(model => model.Name)
</div>

<div class="editor-label">
@Html.LabelFor(model => model.Address)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.Address)
@Html.ValidationMessageFor(model => model.Address)
</div>

<div class="editor-label">
@Html.LabelFor(model => model.Tel)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.Tel)
@Html.ValidationMessageFor(model => model.Tel)
</div>

<div class="editor-label">
@Html.LabelFor(model => model.GSM)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.GSM)
@Html.ValidationMessageFor(model => model.GSM)
</div>

<div class="editor-label">
@Html.LabelFor(model => model.IsAdmin)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.IsAdmin)
@Html.ValidationMessageFor(model => model.IsAdmin)
</div>

<div class="editor-label">
@Html.LabelFor(model => model.ZipCode)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.ZipCode)
@Html.ValidationMessageFor(model => model.ZipCode)
</div>

<div class="editor-label">
@Html.LabelFor(model => model.SocietyID, "Society")
</div>
<div class="editor-field">
@Html.DropDownList("SocietyID", String.Empty)
@Html.ValidationMessageFor(model => model.SocietyID)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.Category, "Category")
</div>
<div>
@Html.Partial("~/Views/PartialViews/PVLbx.cshtml",Model.Categories)
</div>

<p>
<input type="submit" value="Save" />
</p>
</fieldset>
}

<div>
@Html.ActionLink("Back to List", "Index")
</div>

@section Scripts {
@Scripts.Render("~/bundles/jqueryval")
}

Dans ma partial view, (mon model category a un id et un name) où il faut afficher toutes les catégories

Merci de votre aide
A voir également: