在控制器ASP的If条件下的selectlistiitem上添加自定义项.净MVC
本文关键字:自定义 添加 MVC selectlistiitem 控制器 ASP If 条件下 | 更新日期: 2023-09-27 18:01:47
尝试根据登录windows用户的用户名填充下拉列表。然而,如果条件不满足,列表应该只有一个项目。
问题:满足条件时,自定义项未添加到列表中。看了很多关于SO的帖子,但没有运气。任何方向都有帮助。
控制器:
public ActionResult Location()
{
UserPermissionDataContext dbContext = new UserPermissionDataContext();
var viewModel = new UserDetail();
var locationList = new SelectList(
(
from t in dbContext.UserDetails
where t.username.Equals(System.Environment.UserName)
select new SelectListItem{Text = t.location, Value = t.level}
), "Value", "Text");
if (locationList.Select(i => i.Value).Contains("Global"))
ViewData["Locations"] = locationList;
else
ViewData["Locations"] = new SelectList(locationList, "Value", "No Access");
return View(viewModel);
}
视图:
<tr>
<td>Global</td>
<td>
<div>
@Html.DropDownList("location", (SelectList)ViewData["Locations"])
</div>
</td>
</tr>
在这种情况下,如果条件失败,只有一个条目,并且条目为"No Access",那么生成列表的步骤是什么?
你可以使用
if (locationList.Any(i => i.Value.Contains("Global")))