【问题标题】:How to select default value for DropDownListFor using ASP.NET MVC [duplicate]如何使用 ASP.NET MVC 为 DropDownListFor 选择默认值 [重复]
【发布时间】:2017-05-14 04:53:16
【问题描述】:

我需要根据数据库值显示下拉文本。我无法找到解决方案。

数据库值:

RolesID  DeptID  UserID
2        1        100
5        2        200

查看

@foreach (var gt in Model.RoleList)
{
    <tr>                    
        <td>@Html.DropDownListFor(m => m.Role, new SelectList(Model.Role, "RoleId", "RoleName",@gt.RoleId), new { @class = "form-control" })</td>
        <td>@Html.DropDownListFor(m => m.Plants, new SelectList(Model.Department, "DeptId", "DeptName", @gt.DeptId), new { @class = "form-control" })</td>

    @using (Ajax.BeginForm("deletedet", new AjaxOptions() { UpdateTargetId = "Edit-User", AllowCache = true, InsertionMode = InsertionMode.ReplaceWith }))
    {
        @Html.Hidden("userId", @gt.UserId)
        <td><p data-placement="top" data-toggle="tooltip" title="Delete"><button class="btn btn-danger btn-xs" data-title="Delete" data-toggle="modal" data-target="#myTable"><span class="glyphicon glyphicon-trash"></span></button></p></td>
    }

    </tr>
}

Model.RoleList - 包含用户角色 ID 和部门 ID 的列表。

Model.Role - 包含角色列表(主表)

问题:

  • 还有其他方法可以显示下拉列表的默认文本吗?
  • 根据 RoleId,我必须在该下拉列表中选择 RoleName。

此下拉菜单将动态加载。

【问题讨论】:

  • 也可以通过 jquery/javascript 来完成,即 $('#dropid').val(2)
  • 感谢 zahid,如何获得 dropid?它的动态加载...当页面加载时我需要显示该值

标签: asp.net-mvc asp.net-mvc-4 c#-4.0 razor


【解决方案1】:

如果foreach 循环@Html.DropDownListFor(m =&gt; m.Role, new SelectList(Model.Role, "RoleId", "RoleName",gt.RoleId), new { @class = "form-control" }) 永远无法正常工作,因为在剃须刀input/select/textarea 创建一个唯一的html name 属性。但是使用foreach 它不能做到这一点。所以使用for 循环或EditorTemplates 而不是foreach

否则,您可以生成 html,但不能在您的操作中发送项目列表。

示例:

@for(var i = 0;i < Model.RoleList.Count;i++)
{
    <tr>
<td>@Html.DropDownListFor(m => Model.RoleList[i].RoleId, new SelectList(Model.Role, "RoleId", "RoleName", Model.RoleList[i].RoleId), new { @class = "form-control" })</td>
    </tr>
}

【讨论】:

  • 哇!惊人的。非常感谢 Ashiquzzaman
  • 不客气。@SENA
猜你喜欢
  • 1970-01-01
  • 2017-10-12
  • 2014-06-29
  • 2017-12-08
  • 1970-01-01
  • 1970-01-01
  • 2018-08-31
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多