【发布时间】:2020-10-04 09:31:02
【问题描述】:
我有一个表 UserStoreName,
列是:
int ID
字符串 UserNameId(作为表 AspNetUsers(列 ID)的 FK)
sring StoreName
我有一个 AddStore 页面,这是一个非常简单的页面,用户只需在 StoreName 字段中输入商店名称即可。 我已经知道 UserNameId,我是从用户那里获取的。 因此,当用户填充 storeName 字段并单击提交时,我只需向表 UserStoreName 添加一条记录。 听起来很容易。 当我单击提交时,控制器中的 AddStore 函数给了我 ModelState.IsValid = false。 原因是 userNameId 是必填字段。 我想在 AddStore 中填充该字段 函数,但是当我们到达那里时,modelState 已经无效,因为 userStoreNameId 中的必填字段在此处输入代码 这是 AddStore 以防万一:
[HttpPost]
[ValidateAntiForgeryToken]
public IActionResult AddStore(UserStoreName userStoreName)
{
userStoreName.UserNameId =
(_unitOfWork.ApplicationUser.GetAll().Where(q => q.UserName == User.Identity.Name).Select(q => q.Id)).FirstOrDefault();
userStoreName.UserName = User.Identity.Name;
userStoreName.IsAdminStore = false;
if (ModelState.IsValid)
{
_unitOfWork.UserStoreName.Add(userStoreName);
_unitOfWork.Save();
return RedirectToAction(nameof(Index));
}
return View(userStoreName);
}
知道我做错了什么吗? asp.net core mvc 的新手,这是我的第一个项目。 谢谢 :) 谢谢
【问题讨论】:
标签: asp.net asp.net-core asp.net-core-mvc