奇怪的路由问题在这里。每当我尝试使用ViewForm
链接时,我都会遇到Resources Not Found 404
错误。当我使用INDEX
或CREATE
链接时,我将被路由到控制器中的正确功能。
我尝试了多种不同的链接配置,包括:
@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> New Form</a>
答案 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