ASP.NET MultiView的ActiveViewIndex无法切换vAddNew视图问题求助
问题原因
- UpdatePanel触发器ID不匹配:你在页面中定义的新增按钮ID为
btnAddnew,但<asp:AsyncPostBackTrigger>中填写的ControlID为btnAddNew,大小写不一致导致触发器配置失效。
- UpdatePanel触发器ID不匹配:你在页面中定义的新增按钮ID为
- MultiView未被包含在UpdatePanel渲染范围内:
btnAddnew按钮包裹在upAddNew更新面板中,点击后触发的是异步局部回发,只会刷新更新面板内部的内容,而你的mv1MultiView控件在更新面板外部,修改ActiveViewIndex后的变更无法同步到前端。而可正常跳转的imgPrivilage按钮不在更新面板内,点击触发的是整页回发,所以视图切换生效。
- MultiView未被包含在UpdatePanel渲染范围内:
解决方案
任选其一即可:
方案一(保留异步刷新逻辑)
- 将整个
mv1MultiView控件移入upAddNew的<ContentTemplate>标签内部 - 修正触发器的ControlID为和按钮一致的
btnAddnew,因为按钮本身就在更新面板内部,也可以直接删除<Triggers>节点,默认就会触发异步回发。
方案二(走整页回发逻辑)
直接把btnAddnew按钮移到upAddNew更新面板外部,和imgPrivilage逻辑一致,点击触发整页回发后视图即可正常切换。
内容的提问来源于stack exchange,提问作者Zorev Gnoz
相关产品推荐
相关产品推荐

