Usando o roteamento no aplicativo WebForm ASP.NET
-
19-09-2019 - |
Pergunta
estou usando System.Web.Routing
No aplicativo WebForm ASP.NET. Eu escrevi a seguinte rota no global.asax
routes.RouteExistingFiles = true; // I made true/false both, but none works
routes.Add("competition", new Route
(
"Test",
new CustomRouteHandler("~/Test/WebForm1.aspx")
));
E a estrutura do diretório é a seguinte:-
Inscrição
|
| --- teste (pasta)
|--- Webform1.aspx
Quando eu escrevo no navegador http://localhost:xxxx/Test/
(Usando a Casini), a solicitação é o identificador da maneira tradicional, não através das rotas e me dá a página "Listagem do diretório - /teste /".
Você poderia me ajudar?
Solução
Eu tive o mesmo problema e escolhi a solução pragmática que o arquivo que deve lidar com o caminho padrão é chamado de padrão.aspx
routes.Add("competition", new Route ( "Test", new CustomRouteHandler("~/Test/Default.aspx") ));
Outras dicas
Você está usando o roteamento direto da caixa para WebForms, acabei de implementar isso para "WebForms" especificamente, pois há algumas coisas a serem conscientes:
http://haacked.com/archive/2008/03/11/using-ruting-with-webforms.aspx
Hth
Atualizar:
O uso da implementação no link ainda produz o mesmo erro, pois a pasta real existe.
Eu pensaria que, como a pasta existe, ela seria servida (em alguns casos, listando o conteúdo da pasta pode ser desejado)
Talvez adotar uma abordagem diferente seja melhor, por exemplo, se todas as páginas apontarem para páginas de login de extranet específicas, talvez uma pasta descritiva extra funcionasse, por exemplo,/extranetes/teste/?