net MVC,我在太多的网站上搜索从数据库中获取数据到Listbox但我没有得到任何正确的答案,
我的每个网站都有一个列表<>的硬编码示例像这样,
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;
}
这个id是硬编码但我想从db中获取它,我知道我必须应用查询 像这样
public List<Country> allname = new List<Country>
{
//query
};
但我不知道我应该如何使用它,或者这是否正确
请帮助解决这个问题
答案 0 :(得分:1)
在存储库中,您可以像这样创建
public IQueryable<Country> GetCountries()
{
return from country in _db.Countries
orderby country.Name ascending
select country;
}
在控制器中:
在控制器“获取”视图中,您可以创建一个视图数据并将值分配给该视图数据。无需在列表中创建..
ViewData["Countries"] = new SelectList(_repository.GetCountries(), "Id", "Name");
您希望将这些全部显示到视图中,
<%: Html.DropDownList("Countries" + i.ToString(), new SelectList(countries, "Id", "Name"))%>
希望至少你可以得到主意。
答案 1 :(得分:0)
您需要了解两件事。
http://www.asp.net/mvc/tutorials/mvc-music-store上的 MVC音乐商店教程涵盖了这两个方面。它需要花费几个小时才能完成,但它会为您节省更多的时间而不是成本。
但是对于数据访问,很多人使用https://code.google.com/p/dapper-dot-net/而不是EntityFramework
答案 2 :(得分:0)
如果您使用的是Entity Framework
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;
}
}