【发布时间】:2012-02-25 23:32:05
【问题描述】:
我完全被难住了。
我正在 MVC2 中做一个搜索表单(我已经在这个项目上做了十几个其他人,都工作正常。)
Global.asax 有这条路线:
routes.MapRoute("OnlineHelpSearchIndex",
"Help/Search/{expression}/{page}",
new { controller = "OnlineHelp", action = "Search", expression = UrlParameter.Optional, page=1 });
表达式是一个 base64 编码的字符串。我在控制器中对其进行解码,将其传递给具有名为Expression 的属性的模型,并将其显示在 TextBox 的 PartialView 中。 (然后当用户点击链接或回车时,我将字符串编码为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,所以这是服务器端问题)
【问题讨论】:
标签: asp.net-mvc asp.net-mvc-2 asp.net-mvc-routing html-helper