我对 ASP.net MVC 很陌生。我想在页面初始加载时将下拉列表与数据表绑定。在网络表单中,我曾经这样做过:
dropdownname.datasource=dt;
dropdownname.textfield="name";
dropdownname.valuefield="id";
name 和 id 是数据表中的列名。我正在使用 aspx 视图引擎。请帮忙,
我对 ASP.net MVC 很陌生。我想在页面初始加载时将下拉列表与数据表绑定。在网络表单中,我曾经这样做过:
dropdownname.datasource=dt;
dropdownname.textfield="name";
dropdownname.valuefield="id";
name 和 id 是数据表中的列名。我正在使用 aspx 视图引擎。请帮忙,
你在找这样的东西吗?
在 MVC 中,您可以使用 HtmlHelper DropDownListFor
。
假设你有一个这样的视图模型:
public class UserModel
{
public string Name { get; set; }
// Some other properties..
public int CountryId { get; set; }
public IEnumerable<SelectListItem> Countries { get; set; }
}
您可以使用帮助程序生成一个下拉列表:
@Html.DropDownListFor(m => m.CountryId, Model.Countries)
您必须在控制器中填充国家/地区列表:
public ActionResult Edit(int userId)
{
var model = new UserModel();
// get data from db.
// Populate countries list.
model.Countries = db.Countries.Select(c => new SelectListItem
{
Value = c.Id,
Text = c.Name
}).ToList();
}
如果您将此下拉列表包装在一个表单中,它会将选定的国家/地区 ID 发布到控制器。
互联网上有大量其他示例。试试这个。此外,谷歌是你最好的朋友。