在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获取当前用户的用户名,但我不知道如何获取,因此当用户单击"提交"时,它会自动添加到"名称"字段中。
提前感谢您的帮助!
您不需要将其填充到名称字段中。在处理帖子的控制器中,只需使用:
[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);
}