2011-11-30 86 views
0
剃刀視圖(ASP.NET MVC3)結合

我的索引方法呈現類型的強類型視圖(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 

是否有可能當上提交按鈕,而不是採取皮卡用戶點擊(文本)價值給控制器;它從下拉列表框中獲取值並將其提交給控制器?

回答

0

嘗試這樣

@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 

寫一個函數Ge​​tPickupList() 返回皮卡值的列表。