我已经有一段时间了,我有一个注册页面有3个表(教师(有下拉列表项目(Id,名称)),员工和学生) 学生和员工表都有文本字段(姓名,姓氏,联系人,电子邮件地址等) 以及一个下拉列表,用于选择员工/学生所在的学院。 我使用数据库表放入我的下拉列表项,以便选择程序何时加载。 当我运行我的程序时,下拉项目显示完美但现在我想将选定的下拉项目保存到我的员工表或学生表中,具体取决于哪个用户正在注册。
我在下面执行了此代码,但它在注册时给出了一个错误
"类型' System.InvalidOperationException'的例外情况发生在 System.Web.Mvc.dll但未在用户代码中处理,没有 ViewData项类型为' IEnumerable'有钥匙 '系'"
它取消了我的下拉代码。任何人都可以建议如何解决这个问题。提前谢谢
控制器
public ActionResult Register()
{
DataClasses1DataContext db = new DataClasses1DataContext();
ViewBag.Faculty = new SelectList(db.Faculties, "Id", "Name");
return View();
}
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Register(StudentsModel U)
{
if (ModelState.IsValid)
{
try
{
using (DataClasses1DataContext db = new DataClasses1DataContext())
{
{
User newone = new User();
newone.EmailID = U.EmailID;
newone.Name = U.Name;
newone.Surname = U.Surname;
newone.Contact_Nr = U.Contact_Nr;
newone.Department = U.Department;
newone.Access_Num = U.Access_Num;
newone.Faculty = U.Name;
var count = db.Users.Count(a => a.EmailID == U.EmailID);
if (count == 0)
{
db.Users.InsertOnSubmit(newone);
db.SubmitChanges();
ViewData["Message"] = "Successful Registration";
ModelState.Clear();
}
else
{
// something to do if user exist...
ViewData["Message"] = "User Exists, Register with a new Email Address";
ModelState.Clear();
}
}
}
}
catch (Exception ex)
{
string error = ex.Message;
}
}
return View(U);
}
}
查看
@Html.DropDownList("Faculty", null, htmlAttributes: new { @class = "form-control" })