【问题标题】:Adding empty value to a DropDownListFor using select2使用 select2 向 DropDownListFor 添加空值
【发布时间】:2015-11-19 14:52:52
【问题描述】:

我想显式添加一个空值,以便可以将其与 jQuery 一起使用。

$('#empId').select2({
    placeholder: "Select report type",
    allowClear: true,
    width: "265px"
});

如何使它显示为选择的第一个(空)选项?

代码:

 @Html.DropDownListFor(m => m.EmpNameSelected,
    new SelectList(Model.ListOfEmployee, "", "", Model.EmpNameSelected),
     Model.EmpNameSelected, new { id = "empId" })

【问题讨论】:

标签: jquery asp.net-mvc razor jquery-select2


【解决方案1】:

假设你有这个模型:

public class EmployeeModel
{
    public string EmpNameSelected { get; set; }
    public List<Employee> ListOfEmployee { get; set; }
}

public class Employee
{
    public int EmployeeId { get; set; }
    public string EmployeeName { get; set; }
}

这里是控制器:

    public ActionResult TestEmployeeDropDownList()
    {
        var model = new EmployeeModel
        {
            ListOfEmployee = new List<Employee>
            {
                new Employee { EmployeeId = 1, EmployeeName = "John Doe" },
                new Employee { EmployeeId = 2, EmployeeName = "John Roe" },
                new Employee { EmployeeId = 3, EmployeeName = "Jane Doe" },
            }
        };
        return View(model);
    }

终于看到了:

@{
    var emptyEmployee = new MvcApplication.Models.Employee { EmployeeId = 0, EmployeeName = string.Empty };
    Model.ListOfEmployee.Insert(0, emptyEmployee);
}
@Html.DropDownListFor(m => m.EmpNameSelected, new SelectList(Model.ListOfEmployee, "EmployeeId", "EmployeeName", 0), new { id = "empId" })

【讨论】:

  • 有没有办法使用剃须刀?我真的不想搞砸添加我的控制器,我认为它可以使用覆盖来实现
  • @AbuHamzah 你想用剃刀替换哪个部分?
  • 在剃须刀代码上添加new {value = "", text = ""},等空值
  • @AbuHamzah 我明白你的意思,请看我更新的答案
  • 谢谢让我看看
【解决方案2】:

希望这对其他人有所帮助...

我真正需要的只是一行代码来插入一个新的empty value

@{Model.ListOfEmployee.Insert(0, "");}  //insert empty value

@Html.DropDownListFor(m => m.EmpNameSelected,
    new SelectList(Model.ListOfEmployee, "", "", Model.EmpNameSelected),
     Model.EmpNameSelected, new { id = "empId" })

【讨论】:

    猜你喜欢
    • 2013-05-30
    • 1970-01-01
    • 2023-01-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多