ASP.NET MVC 5 伪静态之支持*.html路由
参考了例子 到自己实践还是有不少坑要踩,这种文章,你说它好还是不好呢
注意这里的版本是ASP.NET MVC 5
首页的URL为 http://localhost:58321/index.html 或 http://localhost:58321/
第一步是让 ASP.NET MVC 5 支持 html后缀的请求, 到ASP.NET MVC 5 项目根目录的的Web.config在增加配置
<system.webServer>
<handlers>
<add name="HtmlFileHandler" path="*.html" verb="GET" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" />
</handlers>
</system.webServer>
</configuration>
应该有2种方式,只实践出一种,有2处改动,一.Global.asax.cs增加处理方法, 二.在RouteConfig.cs增加对index.html的路由
在Global.asax.cs中增加
protected void Application_BeginRequest()
{
HttpContext context = HttpContext.Current;
string requestHtmlPath = context.Request.Path;
//如果请求中带有html的后缀,需要进行处理
if (requestHtmlPath.EndsWith("index.html"))
{
context.RewritePath("~");
}
}
在RouteConfig.cs
routes.MapRoute(
name: "HomePage",
url: "index.html",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional },
namespaces: new[] { "CBBC.XXX.Controllers" }
)
尝试了 ASP.NET MVC5 新特性:Attribute路由
配了之后 http://localhost:58321/index.html 可以跳转到 HomeController的Index方法 但 http://localhost:58321/ 无法找到页面
[HttpGet]
[Route("index.html")]
public ActionResult Index()
{
return View();
}
发现http://localhost:58321/ 无法找到页面,暂时未找到解决方案.
ASP.NET MVC 5 伪静态之支持*.html路由的更多相关文章
- ASP.NET MVC 此安装不支持该项目类型解决方法
http://www.cnblogs.com/younggun/archive/2011/03/03/1969498.html ASP.NET MVC 此安装不支持该项目类型解决方法 打开 .csp ...
- bootstrap-data-target触发模态弹出窗元素的data使用 data-toggle与data-target的作用 深入ASP.NET MVC之九:Ajax支持 Asp.Net MVC4系列--进阶篇之AJAX
bootstrap-data-target触发模态弹出窗元素的data使用 时间:2017-05-27 14:22:34 阅读:4479 评论:0 收藏:0 [ ...
- ASP.NET MVC 5 入门-2控制器、路由
一.创建项目: 上起始页,选择新项目. 在中新的项目对话框中,右侧语言类别选择C# ,然后项目类型选择Web,然后选择ASP.NET Web 应用程序 (.NET Framework) 项目模板. 将 ...
- ASP.NET MVC:多模板支持
原文 http://www.cnblogs.com/happyframework/p/3224278.html 背景 准备写个博客练习一下WEB编程,有一个需求就是多模板支持,类似博客园的自定义模板一 ...
- [转]深入ASP.NET MVC之九:Ajax支持
本文转自:http://www.cnblogs.com/yinzixin/archive/2012/12/22/2824384.html 目前前端页面和服务端进行Ajax交互大多采用的都是jQuery ...
- ASP.NET MVC简单编程之(二)经典路由篇
话题:请求从路由开始 在实际的ASP.NET MVC开发中,URL访问规则----路由的定义是非常重要的.因为任何一个请求都离不开路由.理解它,我们将能理解MVC处理请求的整个过程,灵活地定义系统各种 ...
- ASP.NET MVC学习(一)之路由篇Route
什么是路由 通过[路由]配置,路由可以规定URL的特殊格式,使其达到特殊效果. 在ASP.NET MVC框架中,通过路由配置URL,使用户的URL请求可以映射到Controller下的action方法 ...
- ASP.NET MVC 实现伪静态
1 什么是伪静态? 现在很多门户网站或者各大电商平台的网站的链接最后都是.htm或者.htm结尾,那么他们的网页真的是静态的html吗?拿京东来说,有无数个页面都都Html,在商品每时每刻都可能被更 ...
- ASP.NET MVC 5 局部视图不支持异步问题
[ChildActionOnly] public async Task<ActionResult> TopLeftFlowPartialView() { var user = Sessio ...
随机推荐
- FFmpeg 参数详解(二)
https://blog.csdn.net/yizhizouxiaqu/article/details/52233673 5.参数选项 如果没有特殊声明,所有的数字参数都以一个字符串代表数字的形式作为 ...
- 【转载】 tf.train.slice_input_producer()和tf.train.batch()
原文地址: https://www.jianshu.com/p/8ba9cfc738c2 ------------------------------------------------------- ...
- spark.sql.shuffle.partitions和spark.default.parallelism的区别
在关于spark任务并行度的设置中,有两个参数我们会经常遇到,spark.sql.shuffle.partitions 和 spark.default.parallelism, 那么这两个参数到底有什 ...
- no match for call to ‘(std::__cxx11::string {aka std::__cxx11::basic_string
问题: t->package().ship_id(sqlRow[1]);其中 ship_id为 结构体package中的string类型.如下: typedef struct Package{ ...
- LeetCode_204. Count Primes
204. Count Primes Easy Count the number of prime numbers less than a non-negative number, n. Example ...
- delphi self.Update 什么作用
更新指定窗口的客户区.如果窗口更新的区域不为空,UpdateWindow函数就发送一个WM_PAINT消息来更新指定窗口的客户区.函数绕过应用程序的消息队列,直接发送WM_PAINT消息给指定窗口的窗 ...
- [转]动态规划DP的分类
链接地址:http://www.cnblogs.com/Renyi-Fan/p/9285495.html
- IE浏览器提示打印控件未安装的一些原因
打印控件未安装!点击这里执行安装,安装后请刷新页面或重新进入.--该提示是写在LodopFuncs.js里的.相关本博客其他博文:提示“Web打印服务CLodop未安装启动”的各种原因和解决方法.C- ...
- 【Anaconda】关于conda使用环境未被激活的问题
前言 在win10系统中安装Anaconda,并创建虚拟环境,但是不明白为什么切换环境之后并未激活要使用的虚拟环境. conda常用命令 activate // 切换到base环境 activate ...
- [Google] 人和自行车匹配
2D平面上,有m个人(P),n辆自行车(B),还有空白(O)满足以下条件1.m < n. 2.不存在两个人,到同一辆自行车距离相等, 距离用abs(x1-x2) + abs(y1-y2)定义3. ...