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 处理。
最新文章
- CSS3 笔记四(Transforms/Transition/Animations)
- espcms内容页相册调用代码
- Unity3D研究院之拓展系统自带组件的Inspector视图
- bootstrap学习总结-css组件(三)
- js 基本介绍
- MySql中的skip-name-resovle
- POJ 3169 Layout (差分约束)
- QT UAC问题汇总贴
- vijosP1359 Superprime
- hdoj 4883 TIANKENG’s restaurant【贪心区间覆盖】
- BZOJ 2878 迷失游乐园
- Log4Net配置 转
- SpringMVC RequestMapping 详解
- g第十四周,十五周作业
- 【Unity游戏开发】UGUI不规则区域点击的实现
- 1231: ykc买零食
- vert.x 学习笔记
- [模板]KMP算法
- 开始一个django项目的流程
- Linux下Tomcat启动设置debug模式启动
热门文章
- Check for Palindromes-freecodecamp算法题目
- Linux - NodeJS安装
- 11Vim文本编辑器
- AES加密、解密工具类
- 小程序电脑调试没有问题,真机预览报错fail hand shake error
- jQuery获取动态添加的元素,live和on的区别
- Huawei warns against &#39;Berlin Wall&#39; in digital world
- graph-Dijkstra&#39;s shortest-path alogorithm
- __vet_atags
- LeetCode(292) Nim Game