asp.net-mvc – 如何接受电子邮件地址作为路由值?
发布时间:2020-12-16 09:21:14 所属栏目:asp.Net 来源:网络整理
导读:我怎么能有这个简单的路线: http://domain.com/Calendar/Unsubscribe/my@email.com 我的路线看起来像: routes.MapRoute( "Unsubscribe","Calendar/Unsubscribe/{subscriber}",new { controller = "Calendar",action = "Unsubscribe",subscriber = "" });
我怎么能有这个简单的路线:
http://domain.com/Calendar/Unsubscribe/my@email.com 我的路线看起来像: routes.MapRoute( "Unsubscribe","Calendar/Unsubscribe/{subscriber}",new { controller = "Calendar",action = "Unsubscribe",subscriber = "" } ); 我的行动是: public ActionResult Unsubscribe(string subscriber) { ... } 没有任何参数,如http://domain.com/Calendar/Unsubscribe/工作正常,但很快我添加电子邮件,我得到一个404页面:( 我有什么秘诀吗? 谢谢 解决方法
尝试在不更改路由规则的情况下向网址
http://domain.com/Calendar/Unsubscribe/my@email.com/添加尾部斜杠.
如果您仍想避免添加尾部斜杠并且可以使用URL Rewrite,则可以在web.config中添加重写规则. <system.webServer> <rewrite> <rules> <rule name="Fix Unsubscribe emails route" stopProcessing="true"> <match url="^(Calendar/Unsubscribe/.*@.*)$" /> <action type="Rewrite" url="{R:1}/" /> </rule> </rules> </rewrite> </system.webServer> 为了便于阅读,您还可以编写一个比我提供的更好的正则表达式. 您也可以尝试重新排序路线参数,例如/Calendar/my@email.com/Unsubscribe,以便电子邮件不是最后一个参数. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net-mvc – 为什么这个MVC路由不起作用?
- asp.net-mvc-3 – 在查询字符串中使用“popup = 1”时找不到
- asp.net-mvc – 如何从MVC WEB API Controller返回JSON
- 重写网址. asp.net c#
- ASP.net MVC v2 – 调试模型绑定问题 – BUG?
- asp.net-mvc – DotNetOpenAuth在ASP.NET MVC中的OAuth
- 【Asp.Net MVC+EF+三层架构】详解(一)初见
- asp.net-mvc – ASP.Net Html.DropDownList未选择的元素
- 将ASP.NET应用程序本地化为普通话
- 如何在Web项目中给没有添加API核心组件添加APIController的