如何使用ASP在数据库中插入当前登录的用户?净的核心



我试图在数据库中插入当前登录的用户。我有一个想法,在视图中创建一个隐藏的输入文本字段,获取其值,并使用asp-for将其输入数据库。但这似乎不起作用。你能告诉我我做错了什么,如果你有任何其他关于如何以任何其他方式解决这个问题的建议,请随时告诉我。提前谢谢你这是视图代码(注:我拿出了一些视图的代码,我觉得这对问题的目的是不必要的):

<form asp-action="Create">
<div class="form-group">
<input type="submit" value="Create" class="btn btn-primary" />
</div>
<input type="hidden" value="@UserManager.GetUserName(User)" asp-for="User" readonly>
</form>

控制器代码:

public async Task<IActionResult> Create([Bind("OrderId,Model,Color,Size,Seizure,HatchTrap,User")] ShutterOrders order)
{
if (ModelState.IsValid)
{
_context.Add(order);
await _context.SaveChangesAsync();
return RedirectToAction(nameof(Create));
}    
return View(order);   
}

如果你只想在你的表中保存order,假设user存在并且是一个字符串在你的表中,只要在你的控制器中做:

// create a new entry
order myOrder = new order();
// assign values
myOrder.User = User.Identity.Name;
// save other things if necessary...
// add the new data in your table
_context.order.Add(myOrder);
// save 
await _context.SaveChangesAsync();

最新更新