16


7

デフォルトのSelectListItemを追加する
 public IEnumerable GetList(int? ID)
 {
      return from s in db.List
             orderby s.Descript
             select new SelectListItem
             {
                 Text = s.Descript,
                 Value = s.ID.ToString(),
                 Selected = (s.ID == ID)
             };
 }

上記をビューに戻し、 `+ DropDownList `にデータを入力します。 ビューに返される前に、上記のlinq結果にデフォルトの ` SelectListItem(0、" Please Select .. ")+`を追加したいと思います。 これは可能ですか?

7 Answer


31


return new [] {new SelectListItem {Text = ... (db.Listの順にsからs.Descriptを選択して、新しいSelectListItemを選択します。{Text = s.Descript、Value = s.ID.ToString()、Selected =(s.ID == ID)};


21


ASP.NET MVCを使用している場合は、HtmlHelperのDropDownFieldメソッドのoptionLabelパラメータに値を指定することで、ビュー内でこれを実行できます。

htmlHelper.DropDownList( "customerId"、selectList、 "Select One");

この種のコードをUIレイヤに配置することは、データレイヤに配置するよりもおそらく適切です。 これを行うことの1つの欠点はあなたの選択ボックスが 'Select One’オプションのための "0"ではなく、空の文字列値を持つことですが、あなたがあなたのコントローラアクションならこれをnull値として扱うことができるので実際問題ではありませんmethodは関連するパラメータにnull許容のintを受け取ることができます - 例えば

public ActionResult DoSomething(int? customerId){if(customerId!= null){//値で何かをする}}


4


var list = sからdb.Listの順に並びます。s.Descriptで新しいSelectListItemを選択します。

list.Insert(0、new SelectListItem {Text = "選択してください..."、Value = string.Empty});リストを返す。


0


これが私がしたことです。私は自分の値をXMLファイルからIListに読み込みました。 その後、位置0でIListの新しいレコードを挿入しました。 それからIListから選択リストを作ります。

_ _ IList <MY_DATA> mydata =(myXML.Descendants( "R")。ToList()のtmpから)

                      select new MY_DATA
                      {
                         NR = tmp.Attribute("NR").Value,
                         NA = tmp.Attribute("NA").Value
                      }).ToList();

mydata.Insert(0、new My_DATA()\ {NR = ""、NA = " - クリックして選択 - "});

SelectList mylist = new SelectList(mydata、 "NR"、 "NA"); _ _


0


デフォルト値をリストに入れる

list.add(デフォルトのリストアイテム)

そしてlist.addrange(linq select query)を実行してください。

乾杯


0


私が多くの質問を検討した後、私が探しているものを見つけられません。単純なドローダウンをするために多くのコード行を必要としません。 だから私はあなたが私が使っているものをあなたと共有したいと思っています、そしてそれは簡単で簡単です。 (特にEntity Frameworkを使用したくない場合は..

System.Web.Mvcを使用します。

SelectList(IEnumerable項目、文字列dataValueField、文字列dataTextField);

例えば:

  • Controller *に追加:

SelectList slTitle = new SelectList(Query.SelectAllTitle()、 "TitleID"、 "TitleName"); ViewBag.TitleSelectList = slTitle;

*表示*に追加:

@ Html.DropDownList( "TitleSelectList"、 "--please select--")


0


これは、Razor V2およびC#でWebページフレームワーク(MVCやWebフォームではない)を使用している人のためのものです。

@ Html.DropDownList( "カテゴリ"、 "選択してください"、listData)

注:OptionalLabelは中央のパラメータである必要があります。

リストデータにSelectListitemを追加するのと同等です。

var list = db.Query( "IDの選択、dbtableからの名前"); List listData = new List(); listData.Add(new SelectListItem {Text = "選択してください"、Value = ""、});

foreach(リスト内のvar項目){listData.Add(新しいSelectListItem {テキスト= item.Name、値= item.id、選択= isSelected}); }

@ Html.DropDownList( "play"、listData)