Sharepoint web部件中的外部Javascript文件
我正在创建一个sharepoint web部件,希望在其中调用外部javascript文件。我已经在以下位置创建了.js文件 C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\TEMPLATE\LAYOUTS\CustomJScript 调用函数时,其给定函数未找到错误。javascript文件的位置是否错误? 代码如下:Sharepoint web部件中的外部Javascript文件,javascript,sharepoint-2010,web-parts,Javascript,Sharepoint 2010,Web Parts,我正在创建一个sharepoint web部件,希望在其中调用外部javascript文件。我已经在以下位置创建了.js文件 C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\TEMPLATE\LAYOUTS\CustomJScript 调用函数时,其给定函数未找到错误。javascript文件的位置是否错误? 代码如下: protected override void CreateChildContr
protected override void CreateChildControls()
{
Page.ClientScript.RegisterStartupScript(
this.GetType(),
this.ID,
"_spOriginalFormAction = document.forms[0].action;",
true);
ClientScriptManager cs = Page.ClientScript;
if (!cs.IsClientScriptIncludeRegistered("OnMouseOverScript"))
cs.RegisterClientScriptInclude(
this.GetType(),
"OnMouseOverScript",
ResolveUrl("/_layouts/CustomJScripts/MyJS.js"));
}
private void GetData(string strSchCode)
{
Table t = new Table();
TableRow tr = new TableRow();
TableCell tc = new TableCell();
tc.Attributes.Add("onmouseover", "return ShowInfo('AA');");
tr.Controls.Add(tc);
t.Controls.Add(tr);
this.Controls.Add(t);
}
您必须将此javascript添加到Web部件。在我的Web部件中,我使用以下方法:
protected override void OnPreRender(EventArgs e)
{
Page.ClientScript.RegisterStartupScript(GetType(), "MyScript",
"<SCRIPT language='javascript' src='~/_layouts/CustomJScripts/MyJS.js'></SCRIPT>", false);
base.OnPreRender(e);
}
也许单引号有问题?e、 g.使用双引号而不是单引号:
tc.Attributes.Add("onmouseover", "return ShowInfo(\"AA\");");
我将使用该方法,然后将您的文件移动到14\TEMPLATE\LAYOUTS\1033\customjscript
ScriptLink封装ClientScriptManager调用以及其他功能。name参数是一个相对路径,这就是为什么javascript文件需要位于14\TEMPLATE\LAYOUTS\LCID目录中,其中LCID是您的语言编号
您的代码如下所示:
protected override void CreateChildControls()
{
Page.ClientScript.RegisterStartupScript(
this.GetType(),
this.ID,
"_spOriginalFormAction = document.forms[0].action;",
true);
ScriptLink.Register(this.Page, "CustomJScripts/MyJS.js", true);
}
感谢Korin-Marek K.的快速回复。我已经尝试了你的代码,但它仍然给我以下错误:Microsoft JScript运行时错误:对象预期Hanks bender为你解答。但这并没有解决我的问题