2013-09-24 9 views
0

Я пытаюсь перенаправить страницу aspx на другую страницу aspx. Но только при вызове aspx page get без каких-либо параметров.Как сделать страницу aspx сделать httpredirect?

Итак, когда он называется вот так: https://www.a.com/test.aspx?param=1 ему ничего не нужно делать. Но когда он называется вот так: https://www.a.com/test.aspx, он должен перенаправить.

Я пробовал это, но он не перенаправляет, вместо этого он выполняет aspx.

<system.webServer> 
    <httpRedirect enabled="true" httpResponseStatus="Found" exactDestination="true"> 
     <add wildcard="*test.aspx" destination="/destination.aspx"/> 
    </httpRedirect> 
</system.webserver> 

Любые идеи?

Дополнительная информация: это из домена https.

Я также попытался следующие, но это делает его падение трудно:

<rewrite> 
    <rules> 
     <rule name="myrule" stopProcessing="true"> 
      <match url="/test.aspx" /> 
      <action 
       type="Redirect" 
       url="/destination.aspx" 
       appendQueryString="false" 
       redirectType="Found" /> 
     </rule> 
    </rules> 
</rewrite> 

ответ

1

Один из способов сделать это было бы с помощью программного кода при загрузке страницы вашей страницы ASPX. Если никаких запросов не указана, выполните переадресацию.

Если вы хотите сделать перенаправление ранее, вы можете также использовать событие global.asax BeginRequest для перенаправления (проверьте URI текущего запроса и при необходимости перенаправите).

+0

thx для идей, я в конечном итоге положил его в метод Onprerender файла aspx. –

+0

Prerender задерживает жизненный цикл страницы. Если вы хотите оптимизировать время загрузки перед перенаправлением, я советую вам сделать перенаправление на странице PreInit или Init (проверьте [this] (http://msdn.microsoft.com/en-us/library/ms178472 (VS .100) .aspx # Additional_page_life_cycle_considerations) для получения дополнительной информации, диаграмма очень полезна). – CharlesAD

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