我想找一个登录系统并将其姓名放入文本框的人。我该怎么做?这就是我的观点的样子
<div class="form-group">
@Html.LabelFor(model => model.Name, new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.EditorFor(model => model.Name)
@Html.ValidationMessageFor(model => model.Name)
</div>
</div>
现在如何让从控制器登录并将其姓名放在此文本框中的用户?
答案 0 :(得分:0)
当前用户存储在User
属性中,该属性应该在控制器和视图中可用。您可以通过例如:
<div class="form-group">
<lable class = "control-label col-md-2">TEXT</label>
<div class="col-md-10">
<input type="text" name="username" value="@User.Identity.Name" />
</div>
</div>
如果您想“通过模型”使用它,您需要在控制器中创建一个模型并将其分配到那里:
public class UserModel
{
[Required]
public string Name { get; set; }
}
然后在控制器中像:
return View(new UserModel { Name = User.Identity.Name });
答案 1 :(得分:0)
您的模型应如下所示:
public class MyModel
{
string Name {get;set;}
}
在控制器中你应该有:
public ActionResult Index()
{
var model = new MyModel{ Name = User.Identity.Name };
return View(model);
}
您的观点应该有@model MyModel
。
之后,您应该能够显示用户名。
答案 2 :(得分:0)
在视图中这样做:
@Membership.GetUser().UserName
使用文本框:
<input type="text" name="Username" value="@Membership.GetUser().UserName"/>
您可能需要在查看之上添加名称空间,但不确定:
@{
using Microsoft.AspNet.Identity;
}
答案 3 :(得分:-1)
在提供任何建议之前。确保您的站点配置为Windows身份验证