JavaScript中的多视图

时间:2012-09-11 09:54:42

标签: asp.net

我的多视图控件中有3个视图。我想使用javascript在客户端更改多视图的activeviewindex。我不能这样做。帮助将不胜感激。 我的代码是:

<asp:Panel runat="server" ID="multiviewContainer" CssClass="multiviewContainer">
    <asp:MultiView ID="MultiView1" runat="server" ActiveViewIndex="0">
        <asp:View ID="View1" runat="server">
            View 0
        </asp:View>
        <asp:View ID="View2" runat="server">
            View 1
        </asp:View>
        <asp:View ID="View3" runat="server">
            View 2
        </asp:View>
        <asp:View ID="View4" runat="server">
            View 3
        </asp:View>
    </asp:MultiView>
</asp:Panel>

1 个答案:

答案 0 :(得分:1)

MultiView是一个服务器端控件,并不打算在客户端进行修改,所以即使技术上可以更改活动索引客户端,也可能不应该。所以我认为没有人会为这个问题提供任何“好”的答案。为什么不使用jQuery?

<script type="text/javascript">

    function ChangeActiveIndex(index) {
        $('div').hide(); // change this selector to be more specific
        $('#div' + index).show();
    }

</script>

<div id="div1">View 1</div>
<div id="div2">View 2</div>
<div id="div3">View 3</div>

<span onclick="ChangeActiveIndex(1);">Show View 1</span>
<span onclick="ChangeActiveIndex(2);">Show View 2</span>
<span onclick="ChangeActiveIndex(3);">Show View 3</span>

如果需要,您也可以在代码中修改它们:

<div id="div1" runat="server">View 1</div>

div1.Attributes.Add("class", "make-a-class-display:none-or-display:inline")
相关问题