ASP.NET路由应用及IIS配置(非MVC)
一、前后台代码:
Global.cs:
using System.Web.Routing;
。。。
void Application_Start(object sender, EventArgs e)
{
// 在应用程序启动时运行的代码
//RegisterRoutes();
RegisterRoutes(RouteTable.Routes);
}
public static void RegisterRoutes(RouteCollection routes)
{
routes.MapPageRoute("ProductsRoute", "Products/list-{lbid}", "~/Products/ProList.aspx");
routes.MapPageRoute("ProductsDetail", "Products/show-{id}.html", "~/Products/Show.aspx");
}
Default.aspx添加链接:
<p>
<ul>
<li><a href="#">产品中心</a></li>
<li>·<a href="Products/list-1">产品分类1</a></li>
<li>·<a href="Products/list-2">产品分类2</a></li>
</ul>
</p>
<p>
<ul>
<li><a href="Products/show-1.html">产品1</a></li>
<li>·<a href="Products/show-2.html">产品2</a></li>
<li>·<a href="Products/show-3.html">产品3</a></li>
</ul>
</p>
ProList.aspx.cs 中接收路由参数:
protected void Page_Load(object sender, EventArgs e)
{
string lbid = Page.RouteData.Values["lbid"] as string;//接收路由参数
lblLbid.Text = "lbid="+lbid;
//下面写业务逻辑
}
Products/Show.aspx 接收路由参数:
protected void Page_Load(object sender, EventArgs e)
{
lblMsg.Text = "id=" + Page.RouteData.Values["id"] as string;//接收路由参数;
}
效果如图:
二、IIS部署
如果访问html时出现 404 错误,有以下两种解决方法:
1. 在IIS7.0中,需要把网站应用程序池中的托管管道模式设置为:集成。否则会提示 404 错误。
2. 如果实际条件不允许设置为集成模式,则需要添加“处理应用程序映射”,需添加.html文件,使用asp.net api 处理。
ASP.NET路由应用及IIS配置(非MVC)的更多相关文章
- ASP.NET CORE 之 在IIS上部署MVC项目
与ASP.NET时代不同,ASP.NET Core不再是由IIS工作进程(w3wp.exe)托管,而是使用自托管Web服务器(Kestrel)运行,IIS则是作为反向代理的角色转发请求到Kestrel ...
- Asp.Net实现WebApi跨域 (非MVC)
目前WebApi在使用上大部分都是跟MVC组合的,而且使用起来也确实十分便利. 但有时候我们也需要在WebForm中使用WebApi,二者还是有一定区别的. 首先看下结构 ①ApiControlle ...
- IIS配置错误信息输出
Asp.net: 一.通过 IIS 配置 1.打开IIS管理器,或按住 WIN + R 打开命令行输入 inetmgr 打开 IIS 管理 2.左边目录选择目标站点,在右边 IIS 块中双击 “错误页 ...
- 【配置】检测到在集成的托管管道模式下不适用的ASP.NET设置的解决方法(非简单设置为【经典】模式)。
× 检测到在集成的托管管道模式下不适用的ASP.NET设置的解决方法(非简单设置为[经典]模式). 我们将ASP.NET程序从IIS6移植到IIS7,可能运行提示以下错误: HTTP 错误 5 ...
- IIS 配置MVC项目路由中以api结尾的接口
公司的接口,前端框架是MVC,路由里面对接口配置的路径是以api结尾的,结果之间在iis上访问不了,研究了半天成功了,整理下,以免下次再忘. 路由配置RouteConfig routes.MapRou ...
- Asp.Net Core子应用由于配置中重复添加模块会引起IIS错误500.19
ASP.NET Core已经从IIS中解耦,可以作为自宿主程序运行,不再依赖IIS. 但我们还是需要强大的IIS作为前置服务器,IIS利用httpPlatformHandler模块来对后台的一些web ...
- Win7旗舰版中的IIS配置asp.net的运行环境
Win7旗舰版中的IIS配置asp.net的运行环境 以前弄过好多次,都没有成功,昨天晚上不知怎么地就成功了,借用我同学的一句话,这叫“灵光一闪”,废话不多说了,这个成功是有图有视频有真相地哈! ...
- 在ASP.NET非MVC环境中(WebForm中)构造MVC的URL参数,以及如何根据URL解析出匹配到MVC路由的Controller和Action
目前项目中有个需求,需要在WebForm中去构造MVC的URL信息,这里写了一个帮助类可以在ASP.NET非MVC环境中(WebForm中)构造MVC的URL信息,主要就是借助当前Http上下文去构造 ...
- Win7旗舰版中的IIS配置asp.net 完美通过版,附代码 以及出现的 CS0016: 未能写入输出文件“c:\Windows\Microsoft.NET\Framework64\v2.0.50727\Temporary ASP.NET Files\root\8d57d
先解决问题:“c:\Windows\Microsoft.NET\Framework64\v2.0.50727\Temporary ASP.NET Files\root\8d57d 图: 其他的解决方案 ...
随机推荐
- MySQL的GTID复制与传统复制的相互切换
MySQL的GTID复制与传统复制的相互转换 1. GTID复制转换成传统复制 1.1 环境准备 1.2 停止slave 1.3 查看当前主从状态 1.4 change master 1.5 启动主从 ...
- fread()创建文件和file_exists()文件缓存问题
①fread('','w')调用当文件不存在时创建文件,其中参数使用了fread('',"w")导致无法创建文件,修改单引号之后操作正常. ②项目当中新建日志文件,需要判断日志文件 ...
- 二分查找、upper_bound、lower_bound
整理及总结二分查找的判断和边界细节 修改版 package com.leej.binarysearch; import java.util.Arrays; /** * @author jerry * ...
- paper:synthesizable finit state machine design techniques using the new systemverilog 3.0 enhancements之output encoded style with registered outputs(Good style)
把输出跟状态编码结合起来,即使可以省面积又是寄存器输出.但是没有讲解如何实现这种高效的编码.
- 【mysql】mysql 备份脚本
#! /bin/bash HOST=localhost USER=root PASSWORD=password DATE_STR=$(date '+%F--%T') ERROR_LOG=/usr/ ...
- web开发框架tornado
在server.py文件中 import tornado.web import tornado.ioloop import tornado.httpserver import config from ...
- python寻找模块的路径顺序
>>> import sys >>> sys.path ['', '/Library/Frameworks/Python.framework/Versions/3. ...
- 在终端更改MAC的MySQL的root密码
- 【MySQL】MySQL基础
一.基本语法 [MySQL目录结构]●bin目录,存储可执行文件●data目录,存储数据文件●docs,文档●include目录,存储包含的头文件●lib目录,存储库文件●share,错误信息和字符集 ...
- Appscan安全漏洞扫描使用(转)
这里主要分享如何使用AppScan对一大项目的部分功能进行安全扫描. ----------------------------------------------------------------- ...