47 messaggi dal 12 agosto 2009
Così si renderizza la conbo sulla View

<div class="editor-label">
@Html.LabelFor(model => model.Parent)
</div>
<div class="editor-field">
@{var dic = new Dictionary<string, object>();
dic.Add("selectedMenu", ViewBag.ParentMenu);

@Html.Action("ComboMenu","Menues", new RouteValueDictionary(dic))
@Html.ValidationMessageFor(model => model.Parent)
}

</div>

QUesta è la partial view della combo
@model List<DataClasses.DataModel.Generic.IOFSObject>
@using OFSCore.Extension

<select id="ComboMenu">
@foreach (DataClasses.DataModel.Menu.OFSMenu menu in Model)
{
<option value="@menu.Id">@menu.Text</option>
}
</select>

<script type="text/javascript">
$("#ComboMenu").val('@ViewBag.SelectedMenu');
</script>


Purtroppo sebbene come ovvio visualizzi il dato, poi così non valorizza il valore nell'oggetto view passato alla action.

Come sevo fare per collegare il valore selected della compbo direttamente a model.Parent?
11.886 messaggi dal 09 febbraio 2002
Contributi
ciao,
dovresti aggiungere alla select un attributo name="Parent".
<select id="ComboMenu" name="Parent">

Così, quando poi reinvierai i dati, il model builder vedrà che col form è stata passata una chiave "Parent" e capirà che quello è il valore da assegnare alla proprietà omonima del model.

Comunque, perché non usare l'apposito helper method Html.DropDownListFor?

ciao,
Moreno

Enjoy learning and just keep making
47 messaggi dal 12 agosto 2009
Perchè volevo sentirlo dire da te

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.