Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/sharepoint/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在RenderingTemplate中注册/包含javascript 问题描述_Javascript_Sharepoint_Templates_Include_Rendering - Fatal编程技术网

在RenderingTemplate中注册/包含javascript 问题描述

在RenderingTemplate中注册/包含javascript 问题描述,javascript,sharepoint,templates,include,rendering,Javascript,Sharepoint,Templates,Include,Rendering,是否可以在渲染模板中注册(包括)javascript?(渲染模板用于渲染列表表单或字段) 利用 ... ... 无法完成-它没有在头部区域包含脚本,但是…: 我的代码有问题吗?虽然脚本位于Layouts文件夹中,并且我向Reflector检查过,如果Localizable='False',它将使用Layouts文件夹 我不希望此脚本加载到每个页面,但仅用于表单 关于如何实现这一点有什么想法吗 我的想法是行不通的。。。 我的第一个想法是用以编程方式添加脚本,但它不起作用,因为代码求值是在Re

是否可以在渲染模板中注册(包括)javascript?(渲染模板用于渲染列表表单或字段) 利用


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

我的代码有问题吗?虽然脚本位于Layouts文件夹中,并且我向Reflector检查过,如果Localizable='False',它将使用Layouts文件夹

我不希望此脚本加载到每个页面,但仅用于表单

关于如何实现这一点有什么想法吗

我的想法是行不通的。。。 我的第一个想法是用
以编程方式添加脚本,但它不起作用,因为代码求值是在Render方法中进行的,我读到有些地方您无法在Render方法中注册客户端脚本,但通常是在PreRender方法中完成的。怜悯

我的第二个想法仍然不起作用 我想我将创建名为RegisterClientScript的自定义用户控件,在重写的PreRender方法中,我将添加客户端脚本管理器所需的脚本(this.Page.ClientScript…),但是,与SharePoint:ScriptLink一样,我的控件也呈现为文本!


我该如何克服这一问题?问题出在哪里?

以前我也有类似的要求。为此,我已在Field Control类的CreateChildControls方法中包含脚本寄存器。

看起来您缺少runat。试试这个:

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

事实证明,您可以直接向模板添加
标记

<script src="/_layouts/SPFormFieldAssistant.js" type="text/javascript"></script>


谢谢你的注释。

谢谢,但我发现了更简单的解决方案-可以直接将标签添加到模板中。啊,谢谢!啊!但是我已经解决了这个问题,没有使用这样的服务器控件。runat=where?如果需要服务器端控件,则应指定。这是正确的,谢谢。我的错误是:(
<script src="/_layouts/SPFormFieldAssistant.js" type="text/javascript"></script>