【问题标题】:Passing a variable value to a database dropdown将变量值传递给数据库下拉列表
【发布时间】:2014-09-22 02:50:30
【问题描述】:

我想知道是否有人可以帮助我。我在变量var_departmentID 中有一个值,还有一个数据库下拉列表,其中包含可以传递给变量的相同值。我想将下拉菜单默认为变量中的值。我已经尝试了以下方法,但它不起作用。没有错误,只是没有填充下拉列表。

@{var var_dbDepartment = Database.Open("Intranet");
var var_listDepartment = "SELECT Department_ID, Data FROM tbl_Department";
List<SelectListItem> listDepartmentData = new List<SelectListItem>();
bool departmentIsSelected = false;
listDepartmentData.Add(new SelectListItem { Text = "Please Choose...", Value = "0", Selected = true });
foreach(var var_item in var_dbDepartment.Query(var_listDepartment)) {
    if(var_departmentID == var_item.Department_ID.ToString()) {
        bool isSelected = true;
    }
    else {
        bool isSelected = false;
    }

    listDepartmentData.Add(new SelectListItem{Text = var_item.Data, Value = var_item.Department_ID.ToString(), Selected = false});}}
    @Html.DropDownList("Department", listDepartmentData, new { @class = "field", @id="department", @onchange="myFunction()" })

谁能看出问题出在哪里?

【问题讨论】:

  • 首先,您的代码中缺少一些}。它不应该运行。

标签: asp.net razor c#-3.0 asp.net-webpages


【解决方案1】:

我会重写你的代码如下:

@{
    var var_dbDepartment = Database.Open("Intranet");
    var var_listDepartment = "SELECT Department_ID, Data FROM tbl_Department";
    var data = var_dbDepartment.Query(var_listDepartment);
    var items = data.Select(i => new SelectListItem{
        Value = i.Department_ID.ToString(),
        Text = i.Data,
        Selected = i.Department_ID.ToString() == var_departmentID ? true : false
    });
}

@Html.DropDownList("Department", "Please Choose...",  items)

如需更深入的报道,请查看HTML Helpers For Forms In Razor Web Pages。

【讨论】:

    猜你喜欢
    • 2011-08-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多