Я полностью в замешательстве.
Я выполняю поисковую форму в MVC2 (я сделал еще дюжину других для этого проекта, все работает нормально.)
У Global.asax есть этоroute:
routes.MapRoute("OnlineHelpSearchIndex",
"Help/Search/{expression}/{page}",
new { controller = "OnlineHelp", action = "Search", expression = UrlParameter.Optional, page=1 });
Выражение представляет собой строку в кодировке base64.Я декодирую его в контроллере, передаю его модели, обладающей свойством Expression
, и отображаю ее в PartialView в TextBox.(Затем, когда пользователь щелкает ссылку или нажимает клавишу ввода, я кодирую строку в javascript и отправляю ее на "/Help/Search/"+value
)
У меня есть несколько поисковых систем, построенных таким образом (каждое с маршрутом SomeModule/Search/{expression}
), иодин из них не работает.
<%:Html.DisplayFor(m => m.Expression)%>
<%: Model.Expression %>
<%:Html.TextAreaFor(m => m.Expression)%>
<%:Html.TextBoxFor(m => m.Expression)%>
<%:Html.EditorFor(m => m.Expression)%>
Первые два отображают правильное выражение, остальные три отображают выражение в URL.
Я пытался жестко закодировать строку вмодель, первые две отображали жестко закодированную строку, остальные три отображали то, что было в URL. Как это возможно?
(я даже пытался с отключенным JS, так что это проблема на стороне сервера)