2

我对 ASP.net MVC 很陌生。我想在页面初始加载时将下拉列表与数据表绑定。在网络表单中,我曾经这样做过:

dropdownname.datasource=dt;
dropdownname.textfield="name";
dropdownname.valuefield="id";

name 和 id 是数据表中的列名。我正在使用 aspx 视图引擎。请帮忙,

4

2 回答 2

3

你在找这样的东西吗?

于 2013-10-23T07:44:01.180 回答
1

在 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 发布到控制器。

互联网上有大量其他示例。试试这个。此外,谷歌是你最好的朋友。

于 2013-10-23T07:51:23.220 回答