145

DropDownListかみそりビューで作成しようとしています。

誰かがこれを手伝ってくれますか?

通常の HTML5 コード:

<select id="dropdowntipo">
    <option value="Exemplo1">Exemplo1</option>
    <option value="Exemplo2">Exemplo2</option>
    <option value="Exemplo3">Exemplo3</option>
</select>

私はこれを試しました:

@{
    var listItems = new List<ListItem> { 
        new ListItem { Text = "Exemplo1", Value = "Exemplo1" }, 
        new ListItem { Text = "Exemplo2", Value = "Exemplo2" }, 
        new ListItem { Text = "Exemplo3", Value = "Exemplo3" } 
    };
}

@Html.DropDownListFor(model => 
    model.tipo, 
    new SelectList(listItems), 
    "-- Select Status --"
)
4

12 に答える 12

253
@{
   List<SelectListItem> listItems= new List<SelectListItem>();
   listItems.Add(new SelectListItem
        {
          Text = "Exemplo1",
          Value = "Exemplo1"
        });
   listItems.Add(new SelectListItem
        {
            Text = "Exemplo2",
            Value = "Exemplo2",
            Selected = true
        });
   listItems.Add(new SelectListItem
        {
            Text = "Exemplo3",
            Value = "Exemplo3"
        });
}

@Html.DropDownListFor(model => model.tipo, listItems, "-- Select Status --")
于 2013-07-18T15:21:02.720 に答える
11

これが最も簡単な答えです:

あなたの見解では、次を追加するだけです:

@Html.DropDownListFor(model => model.tipo, new SelectList(new[]{"Exemplo1",
"Exemplo2", "Exemplo3"}))

または 、コントローラーに次を追加します。

var exemploList= new SelectList(new[] { "Exemplo1:", "Exemplo2", "Exemplo3" });
        ViewBag.ExemploList = exemploList;

あなたのビューは次を追加するだけです:

@Html.DropDownListFor(model => model.tipo, (SelectList)ViewBag.ExemploList )

私はこれをジェス・チャドウィックから学びました

于 2015-09-21T08:37:40.300 に答える
10

私はそれを行うために多くのオプションを試しましたが、 ここに答えがあります

しかし、私は常にベスト プラクティスを探しており、これまでのところ、フロントエンドとバックエンドの両方の開発者にとって最善の方法はfor loop(冗談ではありません) です。

フロントエンドがダミーデータを含むUIページを提供するとき、彼は特定の選択オプションにクラスといくつかのインラインスタイルも追加したため、hard to deal使用するとHtmlHelper

これを見てください:

<select class="input-lg" style="">
    <option value="0" style="color:#ccc !important;">
        Please select the membership name to be searched for
    </option>
    <option value="1">11</option>
    <option value="2">22</option>
    <option value="3">33</option>
    <option value="4">44</option>
</select>

これはフロントエンド開発者からのものなので、最善の解決策は for ループを使用することです

フリストリーcreateまたはget your listコントローラー アクションの (...) からのデータを取得し、ViewModel、ViewBag などに配置します。

//This returns object that contain Items and TotalCount
ViewBag.MembershipList = await _membershipAppService.GetAllMemberships();

次に、ビューでこの単純な for ループを実行して、ドロップダウンリストに入力します

<select class="input-lg" name="PrerequisiteMembershipId" id="PrerequisiteMembershipId">
    <option value="" style="color:#ccc !important;">
        Please select the membership name to be searched for
    </option>
    @foreach (var item in ViewBag.MembershipList.Items)
    {
        <option value="@item.Id" @(Model.PrerequisiteMembershipId == item.Id ? "selected" : "")>
            @item.Name
        </option>
    }
</select>

このようにして、UIデザインを壊すことはなく、シンプルで簡単で読みやすい

カミソリを使用していない場合でも、これが役立つことを願っています

于 2016-11-06T09:50:58.593 に答える
8

配列を使用すると、リストを作成するよりも少し効率的です。

@Html.DropDownListFor(x => x.Tipo, new SelectListItem[]{
                new SelectListItem() {Text = "Exemplo1", Value="Exemplo1"},
                new SelectListItem() {Text = "Exemplo2", Value="Exemplo2"},
                new SelectListItem() {Text = "Exemplo3", Value="Exemplo3"}})
于 2015-02-03T21:34:19.420 に答える
7
@{
List<SelectListItem> listItems= new List<SelectListItem>();
listItems.Add(new SelectListItem
    {
      Text = "One",
      Value = "1"
    });
listItems.Add(new SelectListItem
    {
        Text = "Two",
        Value = "2",
    });
listItems.Add(new SelectListItem
    {
        Text = "Three",
        Value = "3"
    });
listItems.Add(new SelectListItem
{
   Text = "Four",
   Value = "4"
});
listItems.Add(new SelectListItem
{
   Text = "Five",
   Value = "5"
});
}
@Html.DropDownList("DDlDemo",new SelectList(listItems,"Value","Text"))

参照:- MVC 4 カミソリの例でドロップダウン リストを作成する

于 2015-04-22T06:40:32.673 に答える
4

ASP.net 5 (MVC 6) 以降を使用している場合は、新しいタグ ヘルパーを使用して非常に優れた構文を使用できます。

<select asp-for="tipo">
    <option value="Exemplo1">Exemplo1</option>
    <option value="Exemplo2">Exemplo2</option>
    <option value="Exemplo3">Exemplo3</option>
</select>
于 2015-03-26T22:14:44.303 に答える
0

List<tblstatu> status = new List<tblstatu>();
            status = psobj.getstatus();
            model.statuslist = status;
            model.statusid = status.Select(x => new SelectListItem
            {
                Value = x.StatusId.ToString(),
                Text = x.StatusName
            });


  @Html.DropDownListFor(m => m.status_id, Model.statusid, "Select", new { @class = "form-control input-xlarge required", @type = "text", @autocomplete = "off" })

于 2016-04-04T07:52:58.660 に答える