Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/334.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# url路由webforms冲突_C#_Asp.net_Webforms_Url Routing - Fatal编程技术网

C# url路由webforms冲突

C# url路由webforms冲突,c#,asp.net,webforms,url-routing,C#,Asp.net,Webforms,Url Routing,我刚刚进入Global.asax和在WebForms中进行url路由的方法。这里我与default.aspx和其他文件有点冲突 我希望我的所有文件都有一个友好的url,即:mysite.com/welcome/etc,我通过以下方式实现了这一点: routes.MapPageRoute("root_pages", "{file}/{*action}", "~/{file}.aspx"); 这样,我就可以将mysite.com/welcome.aspx写入mysite.com/welcome/中

我刚刚进入Global.asax和在WebForms中进行url路由的方法。这里我与default.aspx和其他文件有点冲突

我希望我的所有文件都有一个友好的url,即:mysite.com/welcome/etc,我通过以下方式实现了这一点:

routes.MapPageRoute("root_pages", "{file}/{*action}", "~/{file}.aspx");
这样,我就可以将mysite.com/welcome.aspx写入mysite.com/welcome/中,如果需要,还可以使用默认操作。但是,我的默认路由之间会发生冲突:

routes.MapPageRoute("default", "{*action}", "~/default.aspx");
我还想访问我的default.aspx上的一些操作-但当我这样做时,似乎我不能

它将选择文件行并执行该操作,因此我无法执行mysite.com/logout/这是我的default.aspx页面上的一个函数,在这种情况下,它通常会查找文件。。有没有其他方法可以满足我的要求?所以我可以用两条路线

希望你能帮助我


亲切的问候

它总是走第一条路,然后跟着它走。在您的情况下,它将查找不存在的logout.aspx。唯一的选择是使用URL mysite.com/default/logout

我们可以认为这是WebFras中URL路由的限制。

您可以在下面的URL查看我的博客系列的Web表单中的URL路由

本系列还有更多文章