2010-06-02 5 views
2

HI, мне нужно удалить запрос, когда пользователь нажимает на конкретный LinkButton. Так, например, если querystring равен http://UserProfileManager.com?UserID=1234 .... когда пользователь нажимает кнопку Linkbutton, я хочу, чтобы URL-адрес был http://UserProfileManager.com. Проблема в том, что все на одной странице, и я использую панель asp: для отображения и скрытия различных областей веб-страницы.Удаление строки запроса из url в asp.net

Любые идеи будут оценены.

ответ

4

У вас есть несколько вариантов:

1) В своем коде позади, просто установите URL в LinkButton на более короткий адрес, если строки запроса содержит ключ "UserID":

if (Request.QueryString["UserID"] != null) { 
    this.LinkButton.PostBackUrl = "http://UserProfileManager.com"; 
} else { 
    // other address 
} 

2) Послать UserID в скрытом поле, а не в querystring.

3) Отделите свой просмотр и отредактируйте страницы - помещение всего в один * .aspx, вероятно, вызовет больше проблем, чем стоит по дороге.

+0

Я хотел бы отправить UserID в скрытом поле, но пользователь выбирает запись для редактирования из gridview (редактирование - это гиперссылка), где у меня есть значение DataNavigateUrlFields, заданное для UserID и DataNavigateUrlFormatString, задающее запрос. Как я могу обработать установку UserID в скрытое поле в gridView? – user279521

+0

Очень сложно распутать себя от элемента управления «GridView» - обычно это за копейки, за фунт. Поскольку это имеет место здесь, я рекомендую использовать опцию 1 или 3. –

+0

вариант 1 работал. Тем не менее, это потребовало установки URL-адреса в окне свойств LinkButton; Огромное спасибо. – user279521

0

Посмотрите на объект запроса - пока я не помню точные свойства, есть одна схема линии (которая вернет «http: //») - будет одна или комбинация, которая даст вам то, что вам нужно.

Дальнейшие исследования - посмотрите на свойство Request.Url. Затем удалите строку запроса. Я не мог видеть точный метод в классах uri/uricomponent, чтобы дать вам именно то, что вы ищете, но это не должно быть так сложно.

0

При загрузке страницы вы можете извлечь строку запроса в скрытое текстовое поле.

Когда пользователь нажимает на кнопку очистить текстовое поле

Если пользователь покидает использовать строку в текстовом поле и добавить строку запроса в URL.

Я надеюсь, что это помогает Sp

1

вы не можете фактически удалить строку запроса из URL. Я хочу сказать, что для этого нет никакого метода .remove(). Если вы все еще хотите это сделать, вам придется использовать метод .substring() и выполнить его вручную.

Просто подсказка, которая может оказаться полезной: Если вы используете значения QueryString для поддержки разных состояний на одной странице, я бы предпочел, чтобы вы сохраняли эти значения в ViewState на странице и вносили в нее изменения соответственно , Таким образом, ваш URL-адрес останется чистым, пользователи не смогут повредить ваш поток и будут работать нормально.

заботиться!

+0

это хорошая идея. – user279521

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