我在aspx页面中有大约20个div。在任何时候,只有其中一个可见。我需要根据查询字符串决定显示哪个div。
http://...?mode=<ModeName>
简单的方法是从所有div的不可见开始,然后将QueryString放入switch并为所有可能的ModeNames写出案例(或者在一个大的if-else结构中获取它)
我真的不喜欢硬编码,因为如果将来添加/删除任何div,我需要“记住”在切换div的地方进行必要的更改。
我正在考虑创建一个包含所有名称的枚举并将该枚举传递给函数,以便我可以遍历所有枚举并相应地设置可见性。这样我只需要在顶部枚举声明中添加div名称。但它并没有那么成功(可能我太过于繁琐而不能让它发挥作用)
Switch阻止我的唯一出路吗?有没有人有更好的方法来做到这一点? 提前谢谢!
答案 0 :(得分:0)
我会做以下部分或全部:
public enum ModeNames {View, Edit, Create, Summary ...}
)中定义窗口的各种模式。使此枚举通用但具有描述性。thisDiv.Visible = new[]{ModeNames.Create, ModeNames.Edit}.Contains(DisplayMode)
)。答案 1 :(得分:0)
我建议设置querystring传递的数据与你想要处理的div的名称(和id)之间的关系。
您应该知道的其余部分,使用脚本管理器执行Javascript代码以隐藏/显示正确的div,具体取决于您从查询字符串中读取的内容,
希望有所帮助,