Asp.net mvc 如何使用ASP.NET MVC为DropDownList选择默认值
我需要显示基于DB值的下拉文本。我找不到解决办法 DB值:Asp.net mvc 如何使用ASP.NET MVC为DropDownList选择默认值,asp.net-mvc,asp.net-mvc-4,c#-4.0,razor,Asp.net Mvc,Asp.net Mvc 4,C# 4.0,Razor,我需要显示基于DB值的下拉文本。我找不到解决办法 DB值: RolesID DeptID UserID 2 1 100 5 2 200 @for(var i = 0;i < Model.RoleList.Count;i++) { <tr> <td>@Html.DropDownListFor(m => Model.RoleList[i].RoleId, new SelectList(Model
RolesID DeptID UserID
2 1 100
5 2 200
@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>
}
查看
@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>
}
@foreach(Model.RoleList中的变量gt)
{
@DropDownListFor(m=>m.Role,新选择列表(Model.Role,“RoleId”,“RoleName”,“gt.RoleId”),新{@class=“form control”})
@Html.DropDownListFor(m=>m.Plants,新选择列表(Model.Department,“DeptId”,“DeptName”,“gt.DeptId”),新{@class=“form control”})
@使用(Ajax.BeginForm(“deletedet”,new AjaxOptions(){UpdateTargetId=“Edit User”,AllowCache=true,InsertionMode=InsertionMode.ReplaceWith}))
{
@Html.Hidden(“userId”,@gt.userId)
}
}
Model.RoleList-包含用户角色id和部门id的列表
模型.角色-包含角色列表(主表)
问题:
RolesID DeptID UserID
2 1 100
5 2 200
@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>
}
- 是否有其他方式显示dropdownlist的默认文本
- 基于RoleId,我必须在下拉列表中选择RoleName
此下拉列表将动态加载。如果
foreach
循环@Html.DropDownListFor(m=>m.Role,新选择列表(Model.Role,“RoleId”,“RoleName”,gt.RoleId),新的{@class=“form control”}
无法正常工作,因为在razorinput/select/textarea
中创建一个唯一的htmlname
属性。但是使用foreach
它无法做到这一点。因此,使用进行循环或编辑或模板,而不是foreach
另外,您可以生成html,但不能在操作中发送项目列表
示例:
RolesID DeptID UserID
2 1 100
5 2 200
@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>
}
for(var i=0;iModel.RoleList[i].RoleId,新选择列表(Model.Role,“RoleId”,“RoleName”,Model.RoleList[i].RoleId),新{@class=“form control”})
}
也可以通过jquery/javascript即$(“#dropid”)完成。val(2)谢谢zahid,如何获得dropid?它的动态加载。。。当页面加载时,我需要显示该值哇!令人惊叹的。非常感谢您,欢迎您。@SENA