2016-12-13 15 views
0

これは、ビューデータベースからDropdownlistForコントロールを取り込む方法は?

@Html.DropDownListFor(x => x.Lawyer) 

コントローラの名前は、ケースのコントローラで制御され私のコントローラコード

public static List<SelectListItem> GetDropDown() 
{ 
     JurisprudenceDBEntities _db = new JurisprudenceDBEntities(); 
     var Lawyers = new List<tbl_Lawyer>(); 
     using (_db) 
     { 
      Lawyers = _db.tbl_Lawyer.ToList(); 
     } 

    List<SelectListItem> ls = new List<SelectListItem>(); 

    foreach (var temp in Lawyers) 
    { 
     ls.Add(new SelectListItem() { Text = temp.Name, Value = temp.LawyerID.ToString() }); 
    } 
    return ls; 
} 

あります。

+0

だからあなたのエラー/問題は何ですか?あなたの方法の説明だけが私たちを助けません。 – RandomStranger

+0

ドロップダウンリストにはどのように表示されますか? –

答えて

0

MSDNのドキュメントでは、DropDownListForヘルパーに渡すことができるすべての可能なオプションを示しています。あなただけのようなカミソリ要素を入れビューコントロールで

public static SelectList GetDropDown() 
    { 
     using (var db = new DAL.JurisprudenceDBEntities()) 
     { 
      var query = db.Lawyers.Select(o => new { o.LawyerID, o.Name, ... }); 
      return new SelectList(query.OrderBy(o => o.Name).ToList(), "LawyerID", "Name"); 
     } 
    } 

:私はちょうどpoject最初(DAL)の内部データベースが含ま

@Html.DropDownListFor(m => m.Lawyer, GetDropDown(), "--Select--", new { @class = "form-control" }) 
+0

私はこれをモデルに配置しましたが、ビューからメソッドにアクセスできませんでした –

+0

メソッドを分離クラスに入れてみてください。私は一般的に別のクラスにメソッドを入れ、DropDownListForの中では 'GetDropDown()'の代わりに '/ *クラス名* /。GetDropDown()'を使います。これを試してみてください。 –

0
このよう

@Html.DropDownListFor(x => x.Lawyer, Model.GetDropDown(), null, null) 

これは "GetDropDown" 方法は、お使いのモデルであると仮定しています。そうでない場合は、代わりに適切なクラスを参照してください。私はカミソリでDropdownListForを投入するために、このようなコードを使用するために使用していますhttps://msdn.microsoft.com/en-us/library/system.web.mvc.html.selectextensions.dropdownlistfor(v=vs.118).aspx

+0

クラスの参照方法は? –

+0

私はそれが既に静的な方法であることを知っています。これは良いことです。だからちょうど 'MyClass.GetDropDown()' – ADyson

+0

別の答えが私のために働いた –

関連する問題