это список выбора в контроллере действия,5 asp.net MVC SelectList с условием где
ViewBag.UserName = new SelectList(db.Users.Where(g => g.UserName == User.Identity.GetUserName()), "UserName", "UserName");
, которые я передаю к виду:
<div class="form-group">
@Html.LabelFor(model => model.UserName, "UserName", htmlAttributes: new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.DropDownList("UserName", null, htmlAttributes: new { @class = "form-control" })
@Html.ValidationMessageFor(model => model.UserName, "", new { @class = "text-danger" })
</div>
</div>
и это не работает ERRO:
LINQ к Entities не распознает метод 'System.String GetUserName (System.Security.Principal.IIdentity)' метод, и этот метод не может быть переведен в выражение хранилища.
Вы не можете использовать вызов функции 'User.Identity.GetUserName()' в любом выражении Linq. Что вы можете сделать, так это сначала получить значение 'User.Identity.GetUserName()' в переменной, а затем использовать эту переменную в выражении linq. –