2011-01-11 2 views
1

У меня есть приложение для создания веб-форм asp.net 4.0 с перенастройкой URL. В разработке URL моего приложения выглядит идеально. У меня есть страница с именем enrollnow.aspx, которая отвечает на маршрутизацию, поэтому, если я набираю localhost/enrollnow/abc, мое приложение отвечает как ожидалось.URL-адрес маршрутизации на страницу по умолчанию

После того, как вы продвинули меня в мою промежуточную среду, URL-адрес отключен. У меня есть домен, и виртуальный каталог, созданный из моего домена, называется «enrollnow». Таким образом, мой URL-адрес за пределами разработки: mydomain.com/ enrollnow/enrollnow/abc - где первый enrollnow - это каталог, второй enrollnow - это имя страницы, а abc - мое значение маршрута.

Есть ли способ, которым я могу ответить на «страницу по умолчанию», так что второй enrollnow (который является enrollnow.asp) не требуется? Возможно, я могу переименовать мою страницу enrollnow.aspx в default.aspx, или я могу изменить отображение в моем маршрутизируемом? Heres my routeetable, incase, что помогает. благодаря!

RouteTable:

RouteTable.Routes.Add("PURLRoute", New Route("EnrollNow/{PURL_ID}", New PageRouteHandler("~/EnrollNow.aspx"))) 

ответ

1

Я хотел бы попробовать опустить "EnrollNow /" в вашем маршруте:

RouteTable.Routes.Add("PURLRoute", new Route("{PURL_ID}", 
    new PageRouteHandler("~/EnrollNow.aspx"))) 

НО: Проблема будет для таблицы маршрутизации, чтобы различать между значением параметра и маршрут к другой странице. Например, скажем, у вас есть еще один маршрут:

RouteTable.Routes.Add("AnotherRoute", new Route("AnotherPage", 
    new PageRouteHandler("~/AnotherPage.aspx"))) 

Тогда поведение при указании URL mydomain.com/enrollnow/AnotherPage будет зависеть от того, как вы добавили два маршрута выше. Если «PURLRoute» добавлено до «AnotherRoute» URL-адрес будет перенаправлен в «EnrollNow.aspx», а «AnotherPage» будет интерпретироваться как значение параметра для {PURL_ID} (которого вы, вероятно, не хотите). Если «PURLRoute» добавлено после «AnotherRoute», вы будете перенаправлены на «AnotherPage.aspx» (что хорошо, я думаю), но тогда вы никогда не сможете указать «AnotherPage» как значение для {PURL_ID}.

+0

Большое спасибо Slauma, вы поразили гвоздь на голове этим. Маршрутизация работает так, как ожидалось. К счастью для меня, мы только намерены использовать это приложение, в частности, для перехода на страницу по умолчанию, поэтому сценарий «другой страницы» не должен сильно влиять на нас, но я ценю время. Благодаря! – ewitkows

Смежные вопросы