MVC路由问题404

时间:2014-12-27 19:08:16

标签: asp.net-mvc razor model-view-controller routing http-status-code-404

奇怪的路由问题在这里。每当我尝试使用ViewForm链接时,我都会遇到Resources Not Found 404错误。当我使用INDEXCREATE链接时,我将被路由到控制器中的正确功能。

我尝试了多种不同的链接配置,包括:

  • @Html.RouteLink("formView", New With { .formId = form.formId }) @Html.Action("View", New With {.formId = form.formId})

RouteConfig.vb

routes.MapRoute("form_list", "forms/list", New With {.controller = "Forms", .action = "Index"})
routes.MapRoute("form_view", "forms/view/{formId}", New With {.controller = "Forms", .action = "ViewForm"})
routes.MapRoute("form_create", "forms/{*formId}", New With {.controller = "Forms", .action = "Create"})

FormsController.vb

Function Index() As ActionResult
End Function

<ActionName("View")>
Function ViewForm(formId As Guid) As ActionResult
End Function

<HttpGet>
<ActionName("Create")>
Function Create_Get() As ActionResult
End Function

<HttpPost>
<ActionName("Create")>
Function Create_Post() As ActionResult
End Function

查看

INDEX>>> <a ID="lnkSideBarForms" href="@Url.RouteUrl("form_list")">Forms</a>
ViewForm>>> <a href="@Url.RouteUrl("form_view", New With {.action = "ViewForm", .formId = form.formId})" title="@form.formName">@form.formName</a>
CREATE>>> <a class="btn-list-action btn btn-small pull-right" href="@Url.RouteUrl("form_create")"><i class="icon-plus"></i>&nbsp;New Form</a>

1 个答案:

答案 0 :(得分:0)

对OP的评论是个问题。

我的控制器功能正在寻找GUID,但我正在传递string

将我的控制器功能更改为以下问题解决了我的问题。

<强> FormsController.vb

Function Index() As ActionResult
End Function

<ActionName("View")>
Function ViewForm(formId As String) As ActionResult
End Function

<HttpGet>
<ActionName("Create")>
Function Create_Get() As ActionResult
End Function

<HttpPost>
<ActionName("Create")>
Function Create_Post() As ActionResult
End Function