我创建了一个基于默认 New.aspx 模板的自定义列表输入表单。我的表单上有标签,所以我需要一些 javascript 来激活选定的标签。我已经编写了所有代码,但我不知道在哪里放置<script />
. 如果我将它放在标签上方或下方的标题区域<ZoneTemplate>
,我会收到各种错误,并且功能区上的按钮停止工作。如果我把它放在<ZoneTemplate>
标签之间,表单会加载,但不会加载 javascript。任何帮助表示赞赏。
J--
我创建了一个基于默认 New.aspx 模板的自定义列表输入表单。我的表单上有标签,所以我需要一些 javascript 来激活选定的标签。我已经编写了所有代码,但我不知道在哪里放置<script />
. 如果我将它放在标签上方或下方的标题区域<ZoneTemplate>
,我会收到各种错误,并且功能区上的按钮停止工作。如果我把它放在<ZoneTemplate>
标签之间,表单会加载,但不会加载 javascript。任何帮助表示赞赏。
J--
基本上,您希望将代码用于在服务器端设置活动选项卡,而不是使用 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编写的。所以如果你有任何问题,我很乐意回答。我希望这能让你走上正轨。为清楚起见,我没有添加任何与页面验证相关的内容。