2013-05-23 3 views
3

У меня есть сайт ASP.NET, который использует правила перезаписи URL-адресов для предоставления значимых URL-адресов. URL:Postback после нажатия кнопки в ASP.NET вызывает изменение URL-адреса

www.example.com/folder/reports/{name} 

переписывается:

www.example.com/index.aspx?Title={name} 

Теперь есть linkbutton на index.aspx странице (не имеет никакого кода в случае щелчка). Когда я нажимаю на кнопку, оставаясь по URL-адресу: www.example.com/folder/reports/{name}, вместо того, чтобы оставаться на том же URL-адресе после обратной связи, он переходит по адресу: www.example.com/folder/reports/{name}?Title={name} и, таким образом, появляется сообщение об ошибке.

Может кто-нибудь объяснить, почему нажатие кнопки вызывает этот неправильный URL-адрес, хотя обновление на странице удерживает меня на одной странице?

Вот моя конфигурация web.config правила:

<rule name="Rewrite to page"> 
    <match url="(.*)/reports/(.*)" /> 
    <conditions> 
    <add input="{REQUEST_FILENAME}" pattern="(.*(\.html|\.htm|\.aspx)$)" negate="true" /> 
    </conditions> 
    <action type="Rewrite" url="/index.aspx?Title={R:2}" /> 
</rule> 
+1

Не могли бы вы использовать соответствующую часть, если ваш код и переписать конфигурацию? – cheesemacfly

+0

Правило перезаписи в файле конфигурации:

+0

И как эта сгенерированная кнопка ссылки? – cheesemacfly

ответ

3

Я был в состоянии очистить эту проблему, добавив следующую строку в Page_Load случае мастер-страницы: (где «Form1» является формой осины используется на главной странице)

Form1.Action = Request.RawUrl; 
Смежные вопросы