在MVC ASP.NET中使用“创建”视图时录制活动用户

本文关键字:视图 用户 活动 创建 ASP MVC NET | 更新日期: 2023-09-27 18:19:40

基本上我有一个Create视图,人们可以在其中创建如下所示的数据库条目:

@using (Html.BeginForm())
{
    @Html.ValidationSummary(true)
    <fieldset>
        <legend>Trade</legend>
        <div class="editor-label">
            @Html.LabelFor(model => model.Name)
        </div>
        <div class="editor-field">
            @Html.EditorFor(model => model.Name)
            @Html.ValidationMessageFor(model => model.Name)
        </div>
        <div class="editor-label">
            @Html.LabelFor(model => model.Price)
        </div>
        <div class="editor-field">
            @Html.EditorFor(model => model.Price)
            @Html.ValidationMessageFor(model => model.Price)
        </div>
        <div class="editor-label">
            @Html.LabelFor(model => model.active)
        </div>
        <div class="editor-field">
            @Html.EditorFor(model => model.active)
            @Html.ValidationMessageFor(model => model.active)
        </div>
        <p>
            <input type="submit" value="Create" />
        </p>
    </fieldset>
}

数据库还有一个名为"Name"的字段,我希望它包含创建条目的用户的名称。我可以使用@user.Identity.Name获取当前用户的用户名,但我不知道如何获取,因此当用户单击"提交"时,它会自动添加到"名称"字段中。

提前感谢您的帮助!

在MVC ASP.NET中使用“创建”视图时录制活动用户

您不需要将其填充到名称字段中。在处理帖子的控制器中,只需使用:

[HttpPost] 
public ActionResult Create(Trade trade) { 
trade.Name=HttpContext.User.Identity.Name; //this is where the current user is added
if (ModelState.IsValid) { 
db.Movies.Add(trade); 
db.SaveChanges(); 
return RedirectToAction("Index"); 
} 
return View(trade); 
}