MVC获取一个人名并将其放入文本框中

时间:2014-04-25 07:42:50

标签: c# asp.net-mvc asp.net-mvc-4

我想找一个登录系统并将其姓名放入文本框的人。我该怎么做?这就是我的观点的样子

<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>

现在如何让从控制器登录并将其姓名放在此文本框中的用户?

4 个答案:

答案 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身份验证