我正在使用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?)};");
但是它不起作用,它没有显示限制框......我引用了错误的方式。请帮帮我......
答案 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
应设置为Content
,Deployment Type
应设为TemplateFile
。
点击此处了解更多详情: http://blog.netgloo.com/2014/06/19/include-javascript-and-css-files-in-your-sharepoint-2010-visual-web-part/