asp.net URL-маршрутизация не работает с проверкой подлинности формы - PullRequest
1 голос
/ 18 апреля 2011

Я использую последнюю функцию маршрутизации URL, но она не работает. Перед кодом следуйте пунктам, которые вы должны знать:

  1. Это не MVC
  2. Я использую аутентификацию формы, где я перенаправляю пользователя на login.aspx
  3. Сайт размещен на IIS6
  4. Dev - VS 2010, .Net 4.0

Код Webconfig:

<authentication mode="Forms">
    forms name=".COOKIEDEMl" timeout="90" loginUrl="~/User/Login.aspx" defaultUrl="~/index.aspx"/>
</authentication>

Global.asax код:

protected void Application_Start(object sender, EventArgs e)
{            
    SetRouting(RouteTable.Routes);           
}

private void SetRouting(RouteCollection routeCollection)
{
    routeCollection.MapPageRoute("Company",
    "Company/{CompanyName}",
    "~/Asset/RequestForm.aspx", true, new RouteValueDictionary { { "CompanyName", "?CompanyName" } });

    routeCollection.MapPageRoute("Deal",
    "Company/{CompanyName}/{DealName}",
    "~/Asset/RequestForm.aspx", true, new RouteValueDictionary { { "DealName", "?DealName" } });
}

Пользователь не перенаправляется на RequestForm.aspx, когда пользователь вводит URL: http://localhost/testprj/company/Gmail/?my deal

1 Ответ

0 голосов
/ 23 августа 2011

Вы не можете передать параметры строки запроса в Маршрут.Скорее используйте параметры маршрута.Т.е. не используйте «my-deal», лучше используйте company / gmail / my-deal

Кроме того, предпочтительно не использовать пробелы в вашем URL.Замените их дефисом (не подчеркиванием).

...