我在网址中有一个“showall”查询字符串参数,当点击“显示全部/显示页面”按钮时,动态添加参数。
我希望能够切换“showall”查询字符串参数值,具体取决于用户点击“显示所有/显示页面”按钮。
我在网址上做了一些嵌套的“if's”和string.Replace()
,有更好的方法吗?
所有操作都在服务器上完成。
p.s。 Toran,很好的建议,但由于其他一些问题,我必须使用URL参数。
答案 0 :(得分:2)
只是详细说明Toran的答案:
使用:
<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();
}
答案 1 :(得分:0)
另一个肮脏的替代方案可能只是使用隐藏的输入并将其设置为开/关而不是操纵URL。
答案 2 :(得分:0)
只是将值硬编码到URL(我知道它不太好)的默认值或者是真的然后只是
booleanVar = !booleanVar;
在每个页面加载时运行吗?
至少可以避免使用嵌套ifs来操纵URL。
答案 3 :(得分:0)
我不确定是基于这个问题,但这不是HTTPHandlers来救援的地方吗?在这种情况下,你不应该在页面渲染之前处理对象的变量更改吗?