Render partial view dynamisch in ASP.Net MVC3 Razor mit Ajax call-to-Action

Ich versuche zum erstellen einer einzelnen Seite das Formular zum erstellen einer 'Workitem'. Eine der Eigenschaften ist ein drop-down für 'Workitem-Typ'.

Je nach work-item-Typ, kann der Benutzer müssen zusätzliche Daten in einer name-Wert-paar style-Attribute grid (property sheet).

Ich würde gerne dynamisch Rendern Sie das Eigenschaftenblatt, sobald ein work-item-Typ ist, ausgewählt oder geändert werden. Sobald der Benutzer alle Informationen, er wäre auf Absenden zu erstellen, die 'Workitem'.

Dies ist, was ich habe, so weit:

    @using (Ajax.BeginForm("AttributeData", new AjaxOptions() { UpdateTargetId="AttributeDataCell" }))
{

        <div style="float:left">

@{
    Html.RenderPartial("CreateWorkItemPartialView");
 }
 </div>     

<div id="AttributeDataCell" style="float:right">
    @Html.Action("AttributeData", new {id = 1})
</div>
}

Den AttributeData action im controller einfach macht die Teilansicht:

public ActionResult AttributeData(int id = 0)
{
    var attributes = _workItemDataService.ListWorkItemTypeAttributes(id);
    return PartialView("EditWorkItemAttributesPartialView", attributes);

}

Nun würde ich gerne Haken dieses bis zu der drop-down-Liste Auswahl-Ereignis, so dass die partiellen view neu gerendert, die in der obigen Tabelle Zelle bei jeder änderung der Selektion abgeschaltet werden. Ich würde gerne weitergeben, die in den ausgewählten Wert als id.

Einer Weise zu zwingen, die form zu Unterwerfen, sich selbst (und damit neu Rendern).

  1. Wenn, dass ist der richtige Ansatz, wie gehen wir es an? Esp., wie machen wir nur die Eigenschaft Blatt neu Rendern?
  2. Ob es einen besseren Weg, das zu erreichen die oben, bitte.

Dank

InformationsquelleAutor Raza Ali | 2011-11-17

Schreibe einen Kommentar