如何允许用户在MVC4中的QueryString中输入电子邮件?

时间:2014-08-01 05:53:58

标签: asp.net-mvc asp.net-mvc-4 asp.net-mvc-routing

用户将输入www.abc.com/Email/abc@abc.com

上面的代码不起作用,它会生成错误,

HTTP Error 404.0 - Not Found

您要查找的资源已被删除,名称已更改或暂时不可用。

最有可能的原因是:

Web服务器上不存在指定的目录或文件。

网址包含印刷错误。

自定义过滤器或模块(如URLScan)会限制对文件的访问。

你可以尝试的事情:

在Web服务器上创建内容。

查看浏览器网址。

检查失败的请求跟踪日志,并查看哪个模块正在调用SetStatus。有关更多信息,请单击此处。

1 个答案:

答案 0 :(得分:0)

请在此处阅读http://perishablepress.com/stop-using-unsafe-characters-in-urls/http://perishablepress.com/stop-using-unsafe-characters-in-urls/

您应该将@编码为'%40'并在MVC操作中将其解码回@。

要解码,您可以使用encodeURIComponent http://www.w3schools.com/jsref/tryit.asp?filename=tryjsref_encodeuricomponent

您可以在支持的http://msdn.microsoft.com/en-us/library/6196h3wt.aspx

上使用UrlDecode