gpt4 book ai didi

javascript - 在 RenderingTemplate 中注册/包含 javascript

转载 作者:行者123 更新时间:2023-11-29 16:29:01 25 4
gpt4 key购买 nike

问题描述

是否可以在RenderingTemplate中注册(包含)javascript? (RenderingTemplates用于渲染列表表单或字段)通过使用

<SharePoint:RenderingTemplate ID="NewRelatedListItem" runat="server">
<Template>
<span id="part1">
<SharePoint:ScriptLink Name="SPFormFieldAssistant.js" Localizable="false" />
...
</span>
...
</Template>
</SharePoint:RenderingTemplate>

它无法完成 - 它没有在 HEAD 区域包含脚本,但是...:

Source http://img62.imageshack.us/img62/9826/ss20100324092808.png

我的代码有问题吗?虽然脚本位于 Layouts 文件夹中,但我检查了 Reflector,如果 Localized='False',它会使用 Layouts 文件夹。

我不希望每个页面都加载此脚本,而只是针对表单。

关于如何实现这一目标有什么想法吗?

我的想法行不通......

我的第一个想法是使用 <% this.Page.ClientScript.RegisterClientScriptInclude("spffa", "/_layouts/SPFormFieldAssistant.js") %> 以编程方式添加脚本,但它不起作用,因为代码评估是在 Render 方法中进行的,并且我在某处读到您无法在 Render 方法中注册客户端脚本,但通常是在 PreRender 方法中完成。遗憾

我的第二个想法仍然行不通

我想我会创建名为RegisterClientScript的自定义UserControl,并且在重写的PreRender方法中我会使用客户端脚本管理器(this.Page.ClientScript...)添加我需要的脚本,但是,与SharePoint一样:ScriptLink,我的控件也呈现为文本! my control as text http://img693.imageshack.us/img693/3738/ss20100324115826.png

我该如何克服这个问题,问题在哪里?

最佳答案

看来您错过了 runat。试试这个:

<SharePoint:ScriptLink Name="SPFormFieldAssistant.js" Localizable="false" runat="server" />

关于javascript - 在 RenderingTemplate 中注册/包含 javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2506021/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com