2012-07-20 47 views
0

我已經基於默認的New.aspx模板創建了一個自定義列表輸入表單。我有我的表單上的標籤,所以我需要一些JavaScript來激活選定的選項卡。我編寫了所有的代碼,但我無法弄清楚<script />的位置。如果我將它放在<ZoneTemplate>標籤上方或下方的標題區域,我會發現各種錯誤,並且功能區上的按鈕停止工作。如果我把它放在<ZoneTemplate>標籤之間,表單加載,但不是javascript。任何幫助表示讚賞。在輸入表格中的Sharepoint javascript

J--

回答

0

Bascially,想要把代碼設置活動選項卡上的服務器端,而不是用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編寫的。所以如果您有任何問題,我很樂意回答。我希望這能讓你走上正軌。爲了清楚起見,我沒有添加任何與頁面驗證相關的內容。

+0

謝謝。當你說「你需要編寫一個函數服務器端...」時,我在哪裏寫這個?我如何在SP表單後面編碼? – James 2012-07-20 23:14:30

+0

這個例子假設你使用SharePoint作爲asp.net網站的包裝器。基本上,您可以編寫您的網頁以在SharePoint內工作,並使用應用程序吐出的dll以及aspx文件來創建您的SharePoint站點。 – ORION 2012-09-07 12:14:45