我需要解决在asp.net 4.0中使用路由功能进行url重写的问题。 当用户键入URL喜欢解析URL重写的查询字符串asp.net 4.0
www.mysite.com/product.aspx?id=101
然后右页显示,但想如果我更改页面位置和名称,当用户键入网址像
www.mysite.com/product.aspx?id=101
然后会出现找不到网页的错误。
所以请告诉我如何使用asp.net 4.0路由功能来解决这种情况。 有可能吗?
我处理程序路由和喜欢我的示例代码
void Application_Start(object sender, EventArgs e)
{
// Code that runs on application startup
RouteTable.Routes.MapPageRoute
("Source", "Source/{ID}/{Title}", "~/Source.aspx");
RouteTable.Routes.MapPageRoute
("Source1", "MyData/Source/{ID}/{Title}", "~/MyData/Source.aspx");
}
上面的代码只是样品,我这样做的URL重写。这很容易。 但是,如果我需要解决我的路由上面的URL映射问题,那么我怎么能这样做以及我需要在Application_Start
事件中写什么样的代码。
我想,当用户类型
www.mysite.com/product.aspx?id=101
那么它应该重定向到
www.mysite.com /prod/Myproduct.aspx?prodid=101
此网址。所以请指导我如何在asp.net 4.0路由功能的帮助下完成这种映射。
感谢...ü给product.aspx/{*}的Prodid。为什么* *的含义是什么。也告诉我们可以使用什么其他标志。 –
我收到*的错误。错误文本是“一个全部收集参数只能显示为路由URL的最后一部分。 参数名称:routeUrl“请指导我解决它 –
对不起,我得到了选项2错误,我正在考虑一个不同的场景 - 我已经更新,'*'使最后一个参数匹配最后一个参数分割。 – TheCodeKing