Удаление строки запроса из URL в asp.net - PullRequest
2 голосов
/ 02 июня 2010

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

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

Ответы [ 4 ]

4 голосов
/ 02 июня 2010

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

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

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

2) Отправьте идентификатор пользователя в скрытом поле вместо строки запроса.

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

1 голос
/ 02 июня 2010

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

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

Береги себя!

0 голосов
/ 02 июня 2010

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

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

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

Надеюсь, это поможет Sp

0 голосов
/ 02 июня 2010

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

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

...