【问题标题】:MVC drop down list: Setting class name and default selected itemMVC 下拉列表:设置类名和默认选中项
【发布时间】:2013-02-15 02:51:22
【问题描述】:

我有一个使用

的下拉菜单
@Html.DropDownListFor(model => model.param, new SelectList
      (Model.MyList, "Value", "Text"), "Select")

这会将列表的第一项设置为“选择”。我有两个问题: 我可以为此下拉列表以及所选值分配一个类吗?我试过了

 @Html.DropDownListFor(model => model.param, new SelectList
      (Model.MyList, "Value", "Text"), new{@class="clname", @value="Select")

但它不起作用

另外,我可以为默认文本select 设置一个值,这样它的值就不会是空字符串吗?

【问题讨论】:

    标签: asp.net-mvc drop-down-menu selecteditem


    【解决方案1】:

    我将我的选择列表加载到控制器中。所以它作为视图模型的一部分出现在页面上。

    以下将加载带有 css 类 clname 的下拉列表,第一个选项将是 "-- Select --"

    @Html.DropDownListFor(model => model.param, 
              Model.MySelectList, 
              "-- Select --", 
              new { @class = "clname"})
    

    另外,我可以为默认文本选择设置一个值,以便它的值 不会是空字符串吗?

    为此,您应该使用适当的值在控制器中加载选择列表。

    视图模型:

    public class HomeViewModel
    {
        public string MyParam {get;set;}
        public List<SelectListItem> MySelectList {get;set;}
    }
    

    控制器:

    public class HomeController
    {
        public ActionResult Index()
        {
              var model = new HomeViewModel();
              // to load the list, you could put a function in a repository or just load it in your viewmodel constructor if it remains the same.
              model.MySelectList = repository.LoadMyList();
              model.MyParam = "Select"; // This will be the selected item in the list.
              return View(model);
        }
    }
    

    查看:

    @model MyProject.HomeViewModel
    
    <p>Select:
    @Html.DropDownListFor(model => model.MyParam, 
              Model.MySelectList, 
              new { @class = "clname"})
    </p>
    

    希望能说清楚。

    【讨论】:

      猜你喜欢
      • 2016-11-16
      • 2019-08-05
      • 2022-01-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-07-06
      相关资源
      最近更新 更多