2011-01-05 5 views
1

У меня есть гиперссылка на странице, которая отправляет определенные переменные, например. Default.aspx? Var1 = x & var2 = yПроблема с ASP.net Image Button

Затем я динамически создаю ImageButton. У моего ImageButton есть собственное событие. Кажется, что ImageButton наследует значения, отправленные из гиперссылки. Если я нажимаю правой кнопкой мыши на кнопку изображения и просматриваю свойства через браузер, он также указывает на следующее: Default.aspx? Var1 = x & var2 = y, тогда я попытался отключить состояние просмотра, которое не работает.

Я также попытался указать PostBackUrl так, чтобы переменные url не отправлялись. Но тогда его событие не срабатывает.

Есть ли способ, чтобы не ч

ответ

1

URL-адрес обратной связи для формы в ASP.NET будет ВСЕГДА быть тем же самым URL-адресом, который форма была первоначально загружена с использованием. Поэтому, если вы загружаете страницу из гиперссылки с помощью запроса, используйте элемент управления обратной связью на этой странице (например, ImageButton), он всегда будет возвращаться к тому же самому URL-адресу, который был изначально загружен, включая запрос.

Существует несколько способов изменить URL-адрес обратной связи, который зависит от используемой версии ASP.NET, но если 2.0 или ниже, это должен быть javascript. Поиск по этой проблеме (изменение адреса обратной связи или действия формы в asp.net), чтобы найти ответы на вашу проблему.

Другие менее элегантные решения включают перенаправление страницы к себе без запроса после начальной загрузки с помощью строки запроса.

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

if (!Page.IsPostback) { 
// check for querystring data and do stuff if there, otherwise ignore it 
} 
1

Это поведение по умолчанию в ASP.NET. Так как ImageButton просто вызовет выполнение обработчика событий, связанная с ним гиперссылка будет той же самой страницей.

Почему это вызывает беспокойство?