2011-03-09 2 views
1

외부 자바 스크립트 파일을 호출하려는 공유 웹 파트를 만들고 있습니다. 14 개 \ TEMPLATE의 \ 레이아웃이 CustomJScripts을 \ \ \ 프로그램 파일 \ 공용 Files \ Microsoft Shared \ 웹 서버 확장 함수가 호출 될 때Sharepoint 웹 파트의 외부 Javascript 파일

그 제공 기능은 오류를 찾을 수 없습니다 나는 위치를

C 다음의 파일은 .js 만든 . 자바 스크립트 파일의 위치가 잘못 되었습니까?

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); 
} 

답변

0

당신은 당신의는 WebPart이 자바 스크립트를 추가해야합니다 : 다음은 코드입니다. 내 웹 파트에서이 방법을 사용하고 있습니다.

protected override void OnPreRender(EventArgs e) 
    { 
     Page.ClientScript.RegisterStartupScript(GetType(), "MyScript", 
      "<SCRIPT language='javascript' src='~/_layouts/CustomJScripts/MyJS.js'></SCRIPT>", false); 
     base.OnPreRender(e); 
    } 
+0

감사 고린 - 마렉 K.을 빠른 회신. 귀하의 코드를 시도했지만 그것도 여전히 다음과 같은 오류를주는 : 마이크로 소프트 JScript 런타임 오류 : 예상 된 객체 – PleaseHelp

0

작은 따옴표에 문제가있을 수 있습니까? 예 : 대신에 하나의 큰 따옴표를 사용

tc.Attributes.Add("onmouseover", "return ShowInfo(\"AA\");"); 
+0

감사합니다. 그러나 이것은 나의 문제를 해결하지 못했다. – PleaseHelp

0

나는 ScriptLink.Register 방법을 사용하고 CustomJScripts \ 1033 \ 14 개 \ TEMPLATE의 \ 레이아웃으로 파일을 이동합니다.

ScriptLink는 추가 기능과 함께 ClientScriptManager 호출을 캡슐화합니다. name 매개 변수는 상대 경로이므로 자바 스크립트 파일은 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); 
} 
관련 문제