在sharepoint可视Web部件中包含javascript文件

时间:2011-08-11 00:52:32

标签: sharepoint sharepoint-2010

我正在使用sharepoint 2010并开发可视化Web部件。我在ascx文件上有javascript函数,它们都用来处理文件。现在我已将它们移动到单个javascript.js文件并将其部署到服务器上的_layouts文件夹中。

我已在ascx文件中添加以下行以引用该文件

<script src="/sites/xxxxx/_layouts/customwebparts/javascript.js" type="text/javascript"> </script>

然后在ascx.cs文件中,我使用此文件中定义的方法,例如。,

      btnCancel.Attributes.Add("onclick", "{return Action(Cancel the form?)};");

但是它不起作用,它没有显示限制框......我引用了错误的方式。请帮帮我......

2 个答案:

答案 0 :(得分:9)

要从SharePoint Visual Web部件中引用javascript文件,您需要使用SharePoint:ScriptLink标记(下面的示例):

<SharePoint:ScriptLink ID="<someid>" runat="server" Name="/_layouts/...<Path>"></SharePoint:ScriptLink>

我将布局映射文件夹添加到我的Visual Web Part项目中,并将脚本文件夹放在默认文件夹中,我相信这是项目名称。遵循此模型可确保javascript文件在部署期间始终保持最新。上面标记中的“Name”属性只是相对于_layouts的javascript文件的路径,所以类似“/_layouts/ProjectName/Scripts/myjavascript.js”。

作为一个FYI,如果你想使用CSS,那么还有一个SharePoint:CssRegistration标记。我发现这些是我最常用的2个。

答案 1 :(得分:1)

您应该将您的javascript文件放在 Layout 映射文件夹中,并使用SharePoint:ScriptLink标记:

    <SharePoint:ScriptLink id="ScriptLink1" runat="server" Localizable="false" Name="some-layout-subfolder/file.js" />

如果您找不到文件错误,则应检查Localizable属性是否设置为false以及 Visual Studio , js文件的属性Build Action应设置为ContentDeployment Type应设为TemplateFile

点击此处了解更多详情: http://blog.netgloo.com/2014/06/19/include-javascript-and-css-files-in-your-sharepoint-2010-visual-web-part/