0

デフォルトのNew.aspxテンプレートに基づいてカスタムリスト入力フォームを作成しました。フォームにタブがあるので、選択したタブをアクティブにするためにJavaScriptが必要です。すべてのコードを記述しましたが、どこに配置するかわかりません<script /><ZoneTemplate>タグの上または下のヘッダー領域に配置すると、さまざまなエラーが発生し、リボンのボタンが機能しなくなります。タグの間に入れると<ZoneTemplate>、フォームは読み込まれますが、JavaScriptは読み込まれません。どんな助けでも大歓迎です。

J--

4

1 に答える 1

0

基本的に、JavaScriptではなく、サーバー側にアクティブなタブを設定するコードを配置する必要があります。これがSharepointタブ付きマルチビューの例です:

<asp:Menu ID="menu1" runat="server" Orientation="Horizontal" StaticEnableDefaultPopOutImage="False" >
    <Items>
        <asp:MenuItem  Text="Tab 1" Value="0"></asp:MenuItem>
        <asp:MenuItem  Text="Tab 2" Value="1"></asp:MenuItem>
    </Items>
</asp:Menu>

<asp:MultiView ID="Multiview1" runat="server" ActiveViewIndex="0"  >
    <asp:View ID="view1" runat="server">
        <div>STUFF</div>
    </asp:View>
    <asp:View ID="view2" runat="server">
        <div>STUFF</div>
    </asp:View>
</asp:MultiView>

次に、タブクリックを処理する関数サーバー側を作成する必要があります。

Private Sub menu1_MenuItemClick(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.MenuEventArgs) Handles menu1.MenuItemClick
    Try
        If Multiview1.ActiveViewIndex <> Int32.Parse(e.Item.Value) Then
            Select Case Multiview1.ActiveViewIndex
                Case PageView.Tab1
                    Multiview1.ActiveViewIndex = Int32.Parse(e.Item.Value)
                Case PageView.Tab2
                    Multiview1.ActiveViewIndex = Int32.Parse(e.Item.Value)
            End Select
        End If
        ActiveView(e.Item.Value)
    Catch ex As Exception
        Throw ex
    End Try
End Sub

そして、アクティブビューの切り替えを処理する関数:

Public Sub ActiveView(ByVal value As Integer)
    Try
         Multiview1.ActiveViewIndex = value
    Catch ex As Exception
        Throw ex
    End Try
End Sub

これはすべてVBで書かれています。ご不明な点がございましたら、お気軽にお問い合わせください。これであなたが正しい軌道に乗ることを願っています。わかりやすくするために、ページの検証に関連するものは何も追加していません。

于 2012-07-20T17:05:58.097 に答える