2009-11-23 78 views
2

我在这里有一个特殊情况:
我的操作方法接受一个参数,该参数预计为完整的url(例如http://www.somesite.com/article/onesite?hello=whatever&etc=blah)。当使用旧的asp.net(哦,对不起,我的意思是网页表单),这工作得很好,但是当使用asp.net mvc并准备所需的路由时(“/ myaction/{inputUrl”对inputUrl没有限制)它失败。如果网址有任何斜杠,我会收到“错误的请求”异常。我该怎么办?我应该在传入的url中添加正则表达式约束来匹配网址吗?你觉得亲爱的苏格斯呢?
查询字符串与斜杠“/”不在asp.net mvc中工作?

PS:(!即我不能对其进行编码)的资源将来自一个iPhone应用程序,这意味着,我没有在未来URL任何控制请求

提前致谢。

+0

您是否在发送之前尝试使用html.encode查询字符串? – Razzie 2009-11-23 13:15:11

+1

使用HttpUtility.UrlEncode – 2009-11-23 13:22:28

+0

错误,是的我的意思是:) – Razzie 2009-11-23 13:30:11

回答

1

看到这个问题URL-encoded slash in URL

即使UrlEncode在这里也无济于事。 MVC2中的行为发生变化。

+0

我编辑了..请再次检查! – Galilyou 2009-11-23 14:21:47

0

修改您的路线为/myaction/{*inputURL*}。这会在我的行动之后抓住所有人。

+0

我已经有一个全面的路线设置为别的东西。我不能有超过一条全部通路。 – Galilyou 2009-11-24 09:46:29