2008-09-04 2 views
1

У меня есть параметр строки запроса «showall» в URL-адресе, параметр динамически добавляется при нажатии кнопки «Показать все/Показывать страницы».переназначить значение для параметра строки запроса

Мне нужна возможность переключения значения параметра строки запроса «showall» в зависимости от того, как пользователь нажимает кнопку «Показать все/Показывать страницы».

Я делаю некоторые вложенные «if» и string.Replace() на URL-адресе, есть ли лучший способ?

Все манипуляции выполняются на сервере.

p.s. Toran, хорошее предложение, однако мне нужно использовать URL PARAMETER из-за некоторых других проблем.

ответ

2

Просто уточнить ответ Торан в:

Использование:
<asp:HiddenField ID="ShowAll" Value="False" runat="server" />

Для переключения состояния:

protected void ToggleState(object sender, EventArgs e) 
{ 
    //parse string as boolean, invert, and convert back to string 
    ShowAll.Value = (!Boolean.Parse(ShowAll.Value)).ToString(); 
} 
+0

принял это более Toran просто потому, что я понятия не имел, что <жерех: скрытое > существует. всегда используется

0

Другой грязной альтернативой может быть просто использование скрытого ввода и установка этого включения/выключения вместо управления URL-адресом.

0

было бы слишком много усилий, просто иметь значение трудно закодированного в URL (я знаю, что это не слишком приятно) со значением по умолчанию или так, то просто

booleanVar = !booleanVar;

пробег на каждую загрузку страницы?

По крайней мере, это могло бы отойти от необходимости вложенных ifs для манипулирования URL-адресом.

0

Я не уверен, исходя из вопроса, но не так ли, где HTTPHandlers прийти на помощь? Разве вы не должны обрабатывать изменение переменной на объекте до отображения страницы в этом случае?

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