我有一个显示课程列表的视图。我想将用户链接到创建新视图。创建新视图应针对用户选择的特定课程。但是现在,课程显示在下拉列表中。我不希望用户再次选择课程。
我有一个Index视图,其中列出了课程(例如历史记录,数学..)。选择课程后,它将转到创建新视图。我想修改视图,以便用户填写特定课程的应用程序。
@Html.ActionLink("Choose", "ChooseCorse", "FillCourse", new { id = item.idCourse }, null)
现在,我正在使用ActionLink将用户链接到创建新视图并获取课程ID,但这是我遇到的问题。如何显示所选课程并确保将其保存在数据库中?
[HttpGet]
public ActionResult ChooseCourse(int? id)
{
//For the dropdow list
ViewBag.idCourse = new SelectList(db.tbCourses,"idCourse","Name",fillCourse.idCourse);
return View();
}
[HttpPost]
public ActionResult ChooseCourse (tbFillCourse fillCourse)
{
if(!ModelState.IsValid)
{
return View();
}
else
{
db.tbFillCourses.Add(fillCourse);
db.SaveChanges();
return RedirectToAction("Index");
}
}
这是我第一次使用该网站,因此,如果我需要提供更多信息或做错了什么,请纠正我。
答案 0 :(得分:-1)
这行吗?
[HttpGet]
public ActionResult ChooseCourse(int? id)
{
//For the dropdown list
ViewBag.idCourse = new SelectList(db.tbCourses,"idCourse","Name",id);
return View();
}
我不知道参数tbFillCourse fillCourse
是做什么的,但是;
似乎HttpGet
所做的一切都是填充一个下拉菜单-根本不返回视图。
我建议您使用断点来逐步检查参数值