簡體   English   中英

ASP.NET MVC中的DropdownList-未發布值

[英]DropdownList in ASP.NET MVC - value not posted

我在ASP MVC(Razor)中有一個表單,在此表單中,我有一個Textboxes ...和<select> ,我想像其他信息一樣將此選擇的選定選項(值)傳輸到控制器。 文本框已正確傳輸到控制器,並且在數據庫中。

我在數據庫中有一個名為NumberParticipant的字段,由於我的Create控制器,我想傳輸該數據庫:

我的代碼:

@using (Html.BeginForm())
{
  <div class="form-group">
    @Html.LabelFor(model => model.LocalNumber, new { @class = "control-label col-md-2" })
    <div class="col-md-10">
      @Html.EditorFor(model => model.LocalNumber, new { htmlAttributes = new { @class = "form-control" } })
      @Html.ValidationMessageFor(model => model.LocalNumber)
    </div>
  </div>
  <div class="col-md-10">
    <select class="form-control" id="numberParticipant">
      <option value=""></option>
      <option value="2">2</option>
      <option value="3">3</option>
      <option value="4">4</option>
      <option value="5">5</option>
    </select>
  </div>
  <input type="submit" value="Create" class="btn btn-default" />
}

使用MVC DropDownList幫助器可以避免編寫所有html。 這是一個在視圖中設置選項值的示例。

<div class="col-md-10">
    @Html.DropDownListFor(model => model.NumberParticipant, 
        new SelectList(new [] 
        { new {value="",text=""},
          new {value="2",text="2"},
          new {value="3",text="3"},
          new {value="4",text="4"},
          new {value="5",text="5"}
    },"value","text"), new { htmlAttributes = new { @class = "form-control" }})
</div>

最佳實踐是在模型類中添加SelectList類型的屬性,並在那里設置可能的選項。 然后,您可以像這樣在助手中引用新屬性:

<div class="col-md-10">
    @Html.DropDownListFor(model => model.NumberParticipant, 
        Model.MySelectList, new { htmlAttributes = new { @class = "form-control" }})
</div>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM