Привязка модели в Razor View (ASP.NET MVC3) во время выполнения - PullRequest
0 голосов
/ 30 ноября 2011

Метод My Index отображает строго типизированное представление типа (InitDetails), автоматически сгенерированный код выглядит следующим образом:

@ModelType BookingDeamon.InitDetails

@Using Html.BeginForm()
@Html.ValidationSummary(True)
@<fieldset>
    <legend>Reservation</legend>
        <div class="editor-label">
            @Html.LabelFor(Function(model) model.Pickup)
        </div>
        <div class="editor-field">
            @Html.EditorFor(Function(model) model.Pickup)
            @Html.ValidationMessageFor(Function(model) model.Pickup)
        </div>
    <p>
        <input type="submit" value="Create" onclick="SubmitMe()" />
    </p>
</fieldset>
End Using

В приведенной выше форме я хочу отобразить список выбора, так как я буду управлять этим списком выбора через JQuery для загрузки различного содержимого в зависимости от разных вещей.

Я хочу, чтобы можно было передать значение этого списка выбора в качестве значения Pickup.

когда я пытаюсь сделать следующее:

@Html.DropDownListFor(Function(model) model.Pickup)

Я получаю следующую ошибку:

Overload resolution failed because no accessible 'DropDownListFor' accepts this number of argument

Возможно ли, когда пользователь нажимает кнопку отправки вместо передачи значения Pickup (textbox) на контроллер; он берет значение из выпадающего списка и отправляет его в контроллер?

1 Ответ

0 голосов
/ 28 декабря 2011

попробуй вот так

 @Html.DropDownListFor(ModelType=>Model.Pickup, (IEnumerable<SelectListItem>)ViewData["Pickup"],"--Select--") 

в вашем контроллере

var Pickup= GetPickupList();
var PickupList= new SelectList(Pickup, "value", "Text", Pickup.DefaultSelectedValueIfAnyNeeded);
ViewData["Pickup"] = PickupList

написать функцию GetPickupList () который возвращает список значений Pickup.

...