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

还有一个处理 Active View 切换的函数:

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 回答