我有一个按钮下拉列表,其中每个订单项都包含从数据库表中读取的人名
<div class="btn-group">
<button type="button" id="overrideLock" class="btn btn-default dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
Override <span class="caret"></span>
</button>
<ul class="dropdown-menu">
@foreach (var person in Model.Where(person => person.userName != null))
{
<li class="overrideListItem">
<input type="hidden" name="username" value="@person.userName"/>
<a>@person.userName</a>
</li>
}
</ul>
</div>
我希望能够在按钮下拉列表中单击一个行项目(人员姓名),并将其名称替换为当前登录用户的名称。我已经启动了实体控制器代码,但并非一直都在那里。
控制器代码:
public void OverrideLock(string username)
{
var context = new PortalEntity();
var personToReplace = context.LockedPerson.Where(p => p.userName == username);
}
我使用隐藏值来传递用户名值,我不确定这是否是最好的方法。
感谢您的帮助!
答案 0 :(得分:0)
要获取当前用户,您可以使用控制器中的User对象。获得的一种方法是HttpContext.Current.User。然后,您将拥有该对象的当前用户用户名。
您可能需要为System.Web.Httpcontext添加using语句。