asp.net - 修改新建
问题描述
我有一个显示课程列表的视图。我想将用户链接到创建新视图。创建新视图应该针对用户选择的特定课程。但现在课程显示在下拉列表中。我不希望用户不得不再次选择课程。
我有一个索引视图,其中列出了课程(例如历史、数学……)。选择课程后,它会将其带到创建新视图。我想修改视图,以便用户填写特定课程的应用程序。
@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");
}
}
这是我第一次使用该网站,所以如果我需要提供更多或做错了什么,请纠正我。
解决方案
这行得通吗?
[HttpGet]
public ActionResult ChooseCourse(int? id)
{
//For the dropdown list
ViewBag.idCourse = new SelectList(db.tbCourses,"idCourse","Name",id);
return View();
}
我不知道参数tbFillCourse fillCourse
是什么意思,但是;
- 你没有向它传递任何东西,所以它实际上应该失败,因为据我所知它不是一个可选参数
- 填充下拉列表时,您将其用作默认值
似乎所做的一切HttpGet
都是填充下拉列表 - 它根本不返回视图。
我建议您使用断点单步执行并检查参数值
推荐阅读
- php - 如何在PHP中替换字符串中一个数字加上一个空格的所有匹配项
- javascript - 链接向右滚动向下滚动
- php - 如何在 JsonObject 中获取值
- python - 无法部署 GCP Python 云函数
- python - 跳过重复的熊猫滚动窗口
- roslyn - Roslyn 是否支持项目/编译级诊断的代码修复操作(没有位置)?
- php - 没有 Laravel 日志或 Apache 日志的新 Laravel 8 安装 500 服务器错误
- excel - 如何检查 Shape.ParentGroup?
- css - 比 div 宽度更小的水平滚动条?+ 没有图片说明?
- postgresql - Vapor 中的多个数据库