2

マルチビュー コントロールに 3 つのビューがあります。クライアント側のマルチビューのactiveviewindexをjavascriptで変更したいです。私はそれをすることはできません。助けていただければ幸いです。私のコードは次のとおりです。

<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>
4

1 に答える 1

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")
于 2013-01-15T21:04:58.270 に答える