Tool:Visual Studio 2015 Enterprise
OS:Windows 10
.NET Framework 4.6、ASP.NET MVC 5.2.3
Q:在MVC的專案中使用ADO.NET將資料庫查出來,放到DataTable,將DataTable中的值做為View的下拉式選單的資料。
A:要把資料提供給下拉式清單方塊做使用時,需要把資料包在SelectList物件之中,不過直接將DataTable丟到SelectList的建構函式之中並無法運作,這時可以這樣做:
public ActionResult Index( ) {
SqlDataAdapter da = new
SqlDataAdapter( "select * from stores" , connectionString );
System.Data.DataTable dt = new System.Data.DataTable( );
da.Fill( dt );
ViewBag.ddl = new SelectList( dt.AsDataView( ) , "stor_id" , "stor_name" );
return View( dt );
}
上述程式碼查詢Pubs資料庫的stores資料表當做下拉式清單的資料來源,範例中叫用DataTable的AsDataView方法,將DataTable轉換成DataView物件,傳入SelectList建構函式第一個參數,SelectList建構函式第二個參數指定stor_id欄位將做為Value;SelectList建構函式第三個參數指定stor_id欄位將做為Text (下拉式清單方塊顯示的文字)
然後在View之中,使用HtmlHelper產生清單:
@Html.DropDownList( "ddl" )
View的執行結果參考如下:
沒有留言:
張貼留言