我将一个简单的列表View
从 a传递给a Controller
。
控制器代码:
public ActionResult GetRoles(string UserName)
{
if (!string.IsNullOrWhiteSpace(UserName))
{
IdentityUser user = db.Users.Where(u => u.UserName.Equals(UserName, StringComparison.CurrentCultureIgnoreCase)).FirstOrDefault();
var manager = new ApplicationUserManager(new UserStore<ApplicationUser>(db));
ViewBag.RolesForThisUser = manager.GetRoles(user.Id);
// prepopulat roles for the view dropdown
var list = db.Roles.OrderBy(r => r.Name).ToList().Select(rr => new SelectListItem { Value = rr.Name.ToString(), Text = rr.Name }).ToList();
ViewBag.Roles = list;
}
return View("ManageUserRoles");
}
和View
代码是:
@using (Html.BeginForm("GetRoles", "Roles"))
{
@Html.AntiForgeryToken()
<p>
Username : @Html.TextBox("UserName")
<input type="submit" value="Get Roles for this User" />
</p>
if (ViewBag.Roles != null)
{
<p>
@foreach (var item in ViewBag.Roles)
{
@item;
}
</p>
}
}
一切都按计划运行,但在浏览器中,我看到了这个不需要的代码:
System.Web.Mvc.SelectListItemSystem.Web.Mvc.SelectListItem
谁能帮我删除它。提前致谢。
对我来说有点不清楚,因为你使用了很多 vars 而不是普通类型,但这是方法:
<p>
@foreach (var item in ViewBag.Roles)
{
<span>@item.Text</span>
}
</p>
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句