簡體   English   中英

ASP.NET Razor頁面下拉列表

[英]ASP.NET Razor page dropdown list

 <div class="form-group">
            @Html.LabelFor(model => model.CountyId, htmlAttributes: new { @class = "control-label col-md-2" })
            <div class="col-md-10">
                @Html.EditorFor(model => model.CountyId, new { htmlAttributes = new { @class = "form-control" } })
                @Html.ValidationMessageFor(model => model.CountyId, "", new { @class = "text-danger" })
            </div>
        </div>

所以我的網站上有以下代碼。 我想要做的是,沒有在您輸入的CountyID的文本字段,而是希望有一個縣名下拉列表,用戶可以在其中按名稱選擇它,並且它仍將注冊為數字。 (例如,他只需單擊並從我創建的列表中選擇County1,而不是寫“ 1”)

編輯:現在我有此代碼

@Html.DropDownList("Counties", new List<SelectListItem>
                   {
                       new SelectListItem {Text = "Alba", Value = "1", Selected = true },
                       new SelectListItem {Text = "Arad", Value = "2" },
                       new SelectListItem {Text = "Arges", Value = "3" },
                       new SelectListItem {Text = "Bacau", Value = "4" },
                   }, "Select County")
                @Html.EditorFor(model => model.CountyId, new { htmlAttributes = new { @class = "form-control" } })

我如何編寫它以使用DropDownList選擇替換@ Html.EditorFor(model => model.CountyId?

Edit2:如何使用@ Html.DropDownListFor?

您可以使用Html.DropDownListFor輔助方法

將新屬性添加到視圖模型以存儲下拉選項。 此屬性應為列表類型

public class CreateUser
{
  public int CountryId {set;get;}
  public List<SelectListItem> Countries {set;get;}
}

現在,在GET操作中,在此視圖模型對象上填充Countrys集合屬性值。

public ActionResult Create()
{
  var vm = new CreateUser();
  vm.Countries = new List<SelectListItem> {
          new SelectListItem { Value="1", Text="USA" },
          new SelectListItem { Value="2", Text="Canada" },
          new SelectListItem { Value="3", Text="Mexico" }
        };
 return View(Vm);
}

在您看來

@model CreateUser
@using(Html.BeginForm())
{
  <label>Select country</label>
  @Html.DropDownListFor(s=>s.CountryId,Model.Countries,"Select one")
  <input type="submit" />      
}

布達,

可能您需要使用DropDownListFor html幫助器。

請檢查以下答案,看看是否能澄清您的問題

ASP.NET MVC +填充下拉列表

布達,請嘗試以下

 <div class="form-group">
            @Html.LabelFor(model => model.CountyId, htmlAttributes: new { @class = "control-label col-md-2" })
            <div class="col-md-10">
               @Html.DropDownListFor(model => model.CountyId, new List<SelectListItem>
                       {
                           new SelectListItem {Text = "Alba", Value = "1", Selected = true },
                           new SelectListItem {Text = "Arad", Value = "2" },
                           new SelectListItem {Text = "Arges", Value = "3" },
                           new SelectListItem {Text = "Bacau", Value = "4" },
                       }, new { @class = "form-control" })
                @Html.ValidationMessageFor(model => model.CountyId, "", new { @class = "text-danger" })
            </div>
        </div>

暫無
暫無

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

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