我正在尝试从局部视图提交表单,但继续获得404 这是表格:
@model PMP.WebUI.Models.ViewModel.VMTakeQuiz
@using (Html.BeginForm("Quiz", "QuizController", FormMethod.Post, new { id = "take-quiz-form" }))
{
..
<input type="submit" name="LaunchQuiz" value="Launch Quiz!" class="submit-button" />
..
}
这是地图路线分配(它是通常忽略axd之后的第二个分配):
routes.MapRoute(
"Quiz",
"Quiz/Quiz",
new { controller = "Quiz", action = "Quiz" }
);
这是控制器及其动作:
public class QuizController : Controller
{
[HttpPost]
public ActionResult Quiz(VMTakeQuiz quiz)
{
return null;
}
}
我得到的是404:Requested URL: /QuizController/Quiz
我应该更改什么才能将表单提交路由到给定的操作?
答案 0 :(得分:3)
仅传递控制器名称而不使用“控制器”后缀,如
@using (Html.BeginForm("Quiz", "Quiz", FormMethod.Post, new { id = "take-quiz-form" }))
{
..
请求的网址应为:/ Quiz / Quiz
答案 1 :(得分:1)
对于控制器,您无需附加controller suffix
名称
@using (Html.BeginForm("Quiz", "Quiz", FormMethod.Post, new { id = "take-quiz-form" }))
还尝试为视图和控制器设置不同的名称。 :)