问题描述
我在用multiview的view0-view8时,有三个view0-2,MultiView外部有个lblMessage,发现每次在Page_Load()中{lblMessage.Text=mvPrepare.ActiveViewIndex.ToString();}显示的view值是上一个view的值,不是当前选中view的值。如,先点view0,再点view1(显示0),再点view2(显示1),再点view1(显示2),再点view0(显示2),怎么办?<asp:MultiViewID="mvPrepare"runat="server"ActiveViewIndex="-1"><asp:ViewID="view0"runat="server"><tdclass="panelPageHL">All</td><tdclass="panelPage"><asp:LinkButtonID="btn1view0"runat="server"CommandArgument="view1"CommandName="SwitchViewByID"Text="1月Jan"/></td><tdclass="panelPage"><asp:LinkButtonID="btn2view0"runat="server"CommandArgument="view2"CommandName="SwitchViewByID"Text="2月Feb"/></td></asp:View><asp:ViewID="view1"runat="server"><tdclass="panelPage"><asp:LinkButtonID="btn0view1"runat="server"CommandArgument="view0"CommandName="SwitchViewByID"Text="All"/></td><tdclass="panelPageHL">1月Jan</td><tdclass="panelPage"><asp:LinkButtonID="btn2view1"runat="server"CommandArgument="view2"CommandName="SwitchViewByID"Text="2月Feb"/></td></asp:View><asp:ViewID="view2"runat="server"><tdclass="panelPage"><asp:LinkButtonID="btn0view2"runat="server"CommandArgument="view0"CommandName="SwitchViewByID"Text="All"/></td><tdclass="panelPage"><asp:LinkButtonID="btn1view2"runat="server"CommandArgument="view1"CommandName="SwitchViewByID"Text="1月Jan"/></td><tdclass="panelPageHL">2月Feb</td></asp:View><asp:ViewID="view3"runat="server"><tdclass="panelPage"><asp:LinkButtonID="btn0view3"runat="server"CommandArgument="view0"CommandName="SwitchViewByID"Text="All"/></td><tdclass="panelPage"><asp:LinkButtonID="btn1view3"runat="server"CommandArgument="view1"CommandName="SwitchViewByID"Text="1月Jan"/></td><tdclass="panelPage"><asp:LinkButtonID="btn2view3"runat="server"CommandArgument="view2"CommandName="SwitchViewByID"Text="2月Feb"/></td></asp:View></asp:MultiView><asp:Labelid="lblMessage"runat="server"ForeColor="Red"></asp:Label>
解决方案
解决方案二:
沙发
解决方案三:
沙发是什么意思?
解决方案四:
索引是从0开始的
解决方案五:
你每次都让页面刷新了,所以都没有被你选中的,默认都是第一个
解决方案六:
别在Page_Load里做。重载一下protectedoverridevoidOnPreRender(EventArgseventArgs)就不会出现这个问题了。
解决方案七:
感谢大家!cnwolfs:你每次都让页面刷新了,所以都没有被你选中的,默认都是第一个答:我的显示不是这样的,每次显示的结果是上一次访问的view,而不是目前正在看的view,但在目前的view提交后出来的又是现在的view。我自横刀香甜笑:别在Page_Load里做。重载一下protectedoverridevoidOnPreRender(EventArgseventArgs)就不会出现这个问题了。答:在重载代码中写什么呢?我还不会写的,请提示我。