У меня есть тег формы с использованием Url.Action в представлении FormUser:
<form class="form-horizontal" action="..<%: Url.Action(ViewData("FormMode"), "Master") %>" method="post">
{some form code}
</form>
ViewData ("FormMode") генерируется на моем контроллере независимо от того, редактируется он или создает новый. Вот мой код главного контроллера:
Function FormAddUser() As ActionResult
ViewData("AreaMenu") = sideBarModel.createLineMenu
ViewData("RoleOption") = RoleOption()
ViewData("FormMode") = "i_AddUser"
Return View("Form_User")
End Function
Function EditUser() As ActionResult
ViewData("AreaMenu") = sideBarModel.createLineMenu
ViewData("ReadOnly") = "readonly"
ViewData("FormMode") = "u_UpdateUser"
ViewData("RoleOption") = RoleOption()
Dim dt_user As DataTable = masterCommand.get_UserDetail(Request.QueryString("id"))
For Each dr As DataRow In dt_user.Rows
ViewData("v_UserName") = dr("User_Name")
ViewData("v_Role") = dr("ID_Role")
Next
Return View("Form_User")
End Function
если я вызываю функцию FormAddUser, кнопка отправки будет иметь правильное действие URL, то есть
.. / Master / i_AddUser
но если я попытаюсь вызвать функцию EditUser, которая использует этот шаблон URL
.. / Master / EditUser /? ID = Alex
Кнопка отправки в форме удвоит Мастер
.. / Master / Master / u_UpdateUser
Я пытался настроить шаблон URL с помощью этого
routes.MapRoute( _
"EditUser", _
"{controller}/{action}/{*id}", _
New With {.controller = "Master", .action = "EditUser", .id = UrlParameter.Optional}
)
но, похоже, не работает. Что я могу сделать? Я использую MVC 2. Заранее спасибо