根据上一篇所描述的方法去配置,在后来碰到了不少麻烦,主要的麻烦就是View中链接的问题。

为了适应本地调试,我配置了两个路由规则:

routes.MapRoute("Default.Mvc","{controller}.mvc/{action}/{value}",new { controller = "users", action = "index", value = 1 });

routes.MapRoute("Default","{controller}/{action}/{value}",new { controller = "users", action = "index", value = 1 });

这样一来,“http://localhost:7078/users.mvc/index”和“http://localhost:7078/users/index”都可以正常显示了。

但是我发现当我用“http://localhost:7078/users/index”来访问的时候,页面上却有这样的链接:http://localhost:7078/users.mvc/Edit/user1

这并非我所期待的,我所期待的链接应该像这样:http://localhost:7078/users/Edit/user1

而它却也把“mvc”也带上了,这十分令我迷惑,经过查阅资料,我才知道原来ActionLink生成链接也是有规则的,这里具体就不展开了,感兴趣的话可以看看这篇博文:

http://www.cnblogs.com/P_Chou/archive/2010/11/08/details-asp-net-mvc-03.html

总之我的做法有问题!


经过研究MVC路由规则,我修改了我的路由规则配置:

routes.MapRoute("Default.Mvc","{controller}.{mvcflag}/{action}/{value}",new { controller = "users", action = "index", value = 1 },new { mvcflag="mvc"}    );

routes.MapRoute("Default","{controller}/{action}/{value}",new { controller = "users", action = "index", value = 1 });

把“mvc”作为一个参数,我想这样在生成超链接的时候就应该没什么问题了,可事实上这样做也并没有解决问题,因为我发现生成的链接中,如果Controller发生改变,参数就被忽略,像我这样想“恒稳”地带上mvc这个参数去生成链接是很难的了。比如我当前访问页是:http://localhost:7078/users.mvc/index/1

当前Controller是users,Action是index,会生成下面这些Link:

http://localhost:7078/users.mvc/index/2 (Controller和Action都没变,mvc参数还是带上的)

http://localhost:7078/users.mvc/Edit/user2 (Controller没变,Action变了,貌似也会带上mvc参数,还行)

http://localhost:7078/App (Controller变了,mvc参数丢了)


想来想去终究没有什么完美的办法,看来还是得从IIS着手,后来发现居然相当简单,唉,弯路走得够多的了。上图:

这样一来就OK了,也不需要添加什么路由规则了。

在IIS6上部署MVC2网站(续篇)相关推荐

  1. 在IIS6上部署WebService

    在IIS6上部署WebService 2016-12-07 目录: 1 创建web service项目 2 部署WebService 3 浏览页面 1 创建web service项目 返回 用Visu ...

  2. 在IIS7上部署aspx网站

    在IIS7上部署aspx网站 2016-12-06 1 示例代码 WebForm.aspx内容: <html> <head><script language=" ...

  3. web文件 群晖_【原创】群晖NAS 上部署静态网站

    概要 1.简介 NAS 除了用来管理文件,用作个人云盘之外,还有很多用途.因为群晖的操作系统 DSM 本身就是一个 Debian 的定制系统,所以完全可以把 NAS 当作一台个人的服务器,你可以在上面 ...

  4. IIS上部署MVC网站,打开后ExtensionlessUrlHandler-Integrated-4.0解决方法

    IIS上部署MVC网站,打开后ExtensionlessUrlHandler-Integrated-4.0解决方法 IIS上部署MVC网站,打开后500错误:处理程序"Extensionle ...

  5. IIS上部署MVC网站,打开后ExtensionlessUrlHandler-Integrated-4.0 实际解决方案

    IIS上部署MVC网站,打开后ExtensionlessUrlHandler-Integrated-4.0解决办法 IIS上部署MVC网站,打开后ExtensionlessUrlHandler-Int ...

  6. 如何把自己的网站部署在网上_Terminal:如何在IPFS上部署Wordpress网站

    2020年3月19日,胡安兴奋的向大家推送: 利用terminal.co在IPFS上部署了我的个人网站,耗时小于10分钟,这太棒了! 为@terminaldotco喝彩! Terminal简介 从本地 ...

  7. 服务器部署sas_如何在阿里云SAS上部署WordPress网站

    服务器部署sas This article was created in partnership with Alibaba Cloud. Thank you for supporting the pa ...

  8. 在AWS上部署一个网站

    在AWS上部署一个网站 使用Elastic Beanstalk,用户就不必操心自己的操作系统或虚拟服务器,因为它在它们之上加了一个抽象层. 文章目录 在AWS上部署一个网站 前言 一.Elastic ...

  9. LAMP-架构环境网站搭建;在Apache Web服务器上部署PHPBB3网站详细步骤;Linux+Apache2+PHP+MySQL 安装和配置

    在Apache Web服务器上部署PHPBB3网站 LAMP-架构环境网站搭建;在Apache Web服务器上部署PHPBB3网站详细步骤:Linux+Apache2+PHP+MySQL 安装和配置 ...

最新文章

  1. 攻击NLP模型:通用对抗触发器入门
  2. 一条命令monkey命令
  3. Apache服务器多站点配置
  4. oracle 控制文件在哪里设置_更改Oracle默认的控制文件设置
  5. GridView实现自动编号
  6. Django-安装xadmin的方法及主要配置方法
  7. 【Pytorch神经网络理论篇】 28 DGLGraph图的基本操作(缺一部分 明天补)
  8. Pytorch:保存图片
  9. 对内存重叠的深入认识
  10. 上位机通过串口获取单片机数据
  11. mysql完全卸载大全
  12. 小米笔试题--数组移动
  13. 学生选课系统,第二版
  14. java菜鸟突破面试系列-终章
  15. android api 和版本对应表汇总
  16. 一代测序、二代测序以及三代测序的优缺点及应用对比?
  17. 初学者计算机电脑怎样学,初学者怎样学习电脑能够快速入门(免费科普电脑基础知识)...
  18. Premiere Pro 快捷键大全(2023版)
  19. Discuz文章采集工具,Dz文章采集发布工具
  20. Java使用QQ邮箱发送邮件

热门文章

  1. C++_程序注释_以及_认识变量_输出变量_认识常量---C++语言工作笔记009
  2. STM32工作笔记0094---音乐播放器实验
  3. Android异常总结---res\layout\addUser.xml: Invalid file name: must contain only [a-z
  4. pytorch 的L1Loss 的计算方式和MAE 的计算方式的差异点
  5. sphereface 训练出现的问题
  6. tensorflow错误记录:tf.concat
  7. UpdateData( )
  8. linux下gdb调试程序
  9. 磁盘移臂调度实验_10 Swarm 的安装和基本的服务编排调度
  10. html 价格计算,HTML打折计算价格实现原理与脚本代码