2014-04-28 50 views
0

淨MVC中獲取數據,我搜索了太多的網站,從數據庫中的數據讀取到列表框,但我沒有得到任何合適的回答,如何從數據庫列表<>

我每個站點有一個硬編碼例如,對於清單<>這樣,

public SelectList GetAllCountryList() 
    { 
     List<Country> objcountry = new List<Country>(); 
     objcountry.Add(new Country { Id = 1, CountryName = "India" }); 
     objcountry.Add(new Country { Id = 2, CountryName = "USA" }); 
     objcountry.Add(new Country { Id = 3, CountryName = "Pakistan" }); 
     objcountry.Add(new Country { Id = 4, CountryName = "Nepal" }); 
     SelectList objselectlist = new SelectList(objcountry, "Id", "CountryName"); 
     return objselectlist; 
    } 

此標識的硬編碼的,但我想從數據庫獲取它,我知道我需要去申請查詢 這樣

public List<Country> allname = new List<Country> 
{ 
    //query 
}; 

但我不知道我應該如何使用它,或者這是否是正確與否

請幫忙解決這個

+1

如何進行數據庫調用。你使用的是什麼庫?你在使用實體框架/任何/你自己的DAL嗎? –

+0

我使用實體框架 – user3449277

回答

0

如果您正在使用實體框架

public class YouController:Controller 
{ 
    private YourDBContext db = new YourDBContext(); 

    public SelectList GetAllCountryList() 
    { 
    var countries= db.Countries.ToList(); 
    SelectList objselectlist = new SelectList(countries, "Id", "CountryName"); 
    return objselectlist; 
    } 

} 
1

在庫中,您可以創建這樣,

public IQueryable<Country> GetCountries() 
    { 
     return from country in _db.Countries 
       orderby country.Name ascending 
       select country; 
    } 

在控制器:

In controlle r獲取視圖,創建一個viewdata並將值分配給該視圖。無需創建列表..

ViewData["Countries"] = new SelectList(_repository.GetCountries(), "Id", "Name"); 

要將所有顯示這些眼簾手段,

<%: Html.DropDownList("Countries" + i.ToString(), new SelectList(countries, "Id", "Name"))%> 

希望ATLEAST你可以得到的想法。

+0

好吧,但你能告訴我我應該在模型中定義什麼 – user3449277

相關問題