1

我问了一个关于如何在没有 JavaScript 的情况下优化我对 SEO 和用户的搜索的问题,我通过使用找到了答案RedirectToAction

但是,在这样做的过程中,我发现了一个需要解决的新问题。

如果我提交搜索

“敏捷的棕色狐狸跳过了懒惰的狗”

(试图用完整短语的“引号”模仿谷歌)

该应用程序在我身上爆炸(YSOD)

路径中的非法字符。
说明:执行当前 Web 请求期间发生未处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。

网址看起来像这样(Firefox)
http://localhost/search/ “快速棕色狐狸跳过懒狗”

我尝试使用Url.Encode,但也没有用......网址看起来像
http://localhost/search/%2522the%2bquick%2bbrown%2bfox%2bjumped%2bover%2bthe%2blazy%2bdogs%2522

错误说

“/”应用程序中的服务器错误。
HTTP 错误 400 - 错误请求。

我想念的东西一定很明显。异常详细信息:System.ArgumentException:路径中有非法字符。

4

1 回答 1

0

查看您上一个问题中的表格,我预计 searchTerm 是一个查询字符串参数,而不是路由的一部分。

http://localhost/search?searchTerms=..

如果您希望搜索成为路线的一部分,则必须正确设置路线。

如果您提供更多堆栈跟踪或路由配置,您可能会得到更好的答案。无论如何,希望这会有所帮助。

于 2010-08-21T08:12:05.510 回答