переназначить значение параметру строки запроса - PullRequest
1 голос
/ 05 сентября 2008

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

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

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

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

p.s. Торан, хорошее предложение, однако я ДОЛЖЕН ИСПОЛЬЗОВАТЬ ПАРАМЕТР URL из-за некоторых других проблем.

Ответы [ 4 ]

2 голосов
/ 05 сентября 2008

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

Использование:
<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 голосов
/ 05 сентября 2008

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

booleanVar = !booleanVar;

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

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

0 голосов
/ 05 сентября 2008

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

0 голосов
/ 05 сентября 2008

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

...