在 ASP.NET MVC 中使用带后缀的 URL

在前一篇文章中介绍过如何在ASP.NET MVC项目的URL中不显示controller(http://www.cnblogs.com/Snowdreams/archive/2008/10/18/1314188.html),本文介绍如何通过设置Route使URL中带后缀。
在 ASP.NET WebForm中不少人做过通过Url重写使Url中不带后缀,这次我们做的正好相反。假设我们需要将URL后缀设置成shtml,以新建ASP.NET MVC项目时默认的项目为例。如果要访问登陆页,则URL为http://localhost/Account/Login,Account匹配Account Controller,Login匹配Login Action。如果我们要将URL改为http://localhost/Account/Login.shtml,在不改变Route的情况下Action变成了Login.shtml,显然无法找到这个Action,所以就出现了404错误,我们要做的就是将Action仍然解析为Login,所以我们将默认的Route改成

1  routes.MapRoute(
2                   " Default " ,
3                   " {controller}/{action}.shtml "
4                   new  { controller  =   " Home " , action  =   " Index " , id  =   ""  }
此时,Login.shtml中的login正好对应{action}所以就会调用Account controller中的login action,也就达到了我们的目的。如果要使用其他后缀,只需要将.shtml改为.aspx或.html即可。

转载于:https://www.cnblogs.com/snowdream/archive/2008/10/25/1319599.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值