首页 > 解决方案 > 在asp net core中执行代码后传递路由值?

问题描述

 [HttpGet]
        public async Task<IActionResult> AnswerExam(int examId)
        {
            var obb = onlineExamDBContext.QuestionAndAnswers.Where(x => x.ExamId == examId);
            return View(await obb.ToListAsync());
        }

<a asp-action="AnswerExam" asp-route-id="@item.ExamId">Attempt</a>

但稍后在代码执行后,我可以看到在 url https://localhost:44395/CandidateExam/AnswerExam/16中传递的 id

但是 id 16 没有被传递给 action 方法??是什么原因?请帮忙!!

标签: asp.net-coreentity-framework-core

解决方案


 [HttpGet]
        public async Task<IActionResult> AnswerExam(int examId)
        {
            var obb = onlineExamDBContext.QuestionAndAnswers.Where(x => x.ExamId == examId);
            return View(await obb.ToListAsync());
        }

发现问题。上述操作方法中的examId应与路由值匹配,例如

asp-route- examId =“@item.ExamId”


推荐阅读