c# - '没有 'IEnumerable 类型的 ViewData 项' 具有键 'IsWorkingID
问题描述
我正在创建一个 ASP.NET MVC 注册表单,并在我的表单中使用下拉列表,但是当我点击视图中的提交按钮时,会发生此错误:
System.InvalidOperationException:“没有具有键“IsWorkingID”的“IEnumerable”类型的 ViewData 项。
我尝试了不同的方法,但都没有奏效。
这是我的模型:
[Required(ErrorMessage = "Field Required")]
[Display(Name = "Do you work in a medical practice?")]
public int IsWorkingID { get; set; }
这是我的控制器:
public class UserController : Controller
{
// GET: User
public ActionResult Index()
{
try
{
MyDBEntities db = new MyDBEntities();
List<WorkingDetail> list = db.WorkingDetails.ToList();
ViewBag.WorkingDetail = new SelectList(list, "IsWorkingID", "IsWorking");
return View();
}
catch (InvalidOperationException exception)
{
throw exception;
}
}
[HttpPost]
public ActionResult SaveRecord(UserViewModel model)
{
if (!ModelState.IsValid)
{
return View("Index");
}
else
{
try
{
MyDBEntities db = new MyDBEntities();
User userObj = new User();
userObj.FirstName = model.FirstName;
userObj.LastName = model.LastName;
userObj.Email = model.Email;
userObj.PhoneNo = model.PhoneNo;
userObj.IsWorkingID = model.IsWorkingID;
db.Users.Add(userObj);
db.SaveChanges();
return RedirectToAction("Index");
}
catch (Exception ex)
{
throw ex;
}
}
}
}
这是我的看法:
@Html.LabelFor(model => model.IsWorkingID)
@Html.ValidationMessageFor(model => model.IsWorkingID, "", new { @class = "text-danger" })
@Html.DropDownListFor(model => model.IsWorkingID, ViewBag.WorkingDetail as SelectList, "", new { @class = "form-control" })
当我正确填写表单时,存储在 db 中的值但是当我将任何字段留空时ViewBag
返回空值。
但它应该向我显示表单字段上的错误消息是必需的,而不是
InvalidOperationException - 没有具有键“IsWorkingID”的“IEnumerable”类型的 ViewData 项
解决方案
推荐阅读
- expo - 使用 Expo Cli 为 React Native 设置环境
- windows - 使用批处理查找今天发生的关键字
- perl - 如何使这个 perl 代码片段也适用于 MySQL 8.0?
- c# - Unity 中缺少 photonServiceSettings 并且无法使用 photon lib
- android - Exoplayer cast 实现在 2019 年 7 月工作,但在本月(2019 年 10 月)没有更改任何代码就无法工作,有人知道发生了什么吗?
- reactjs - 有没有办法在 react-quill 中将图像和 pdf 文档作为附件发送?
- xamarin - Xamarin.Forms Datepicker NullReferenceException ios 9.0
- python - 使用字典替换数据框中的字符串值
- magento - 在 Magento 2 中检查属性的唯一值是否工作不正确?
- ios - 带有字距调整的 UITextField 的奇数前导空白行为