2012-03-26 2 views
2

저는 C#으로 작성된 매우 간단한 사용자 컨트롤을 가지고 dll로 컴파일했습니다. 나는 개체 태그를 사용하여 aspx 페이지에 그 컨트롤을 넣고 시도하고 자바 스크립트에서 일을 할. 다른 컨트롤은 잘 작동하지만, 어떤 이유로이 컨트롤은 작동하지 않습니다. 내가 페이지를로드 할 때ASPX 페이지의 사용자 정의 컨트롤이 자바 스크립트와 작동하지 않습니다.

<script type="text/javascript"> 
    $(function() { 
var mfc = $('#fileBrowserControl')[0]; 
alert(mfc.theFile); 
    }); 

, 메시지 박스가 있음을 보여주고 그 다음

<object id='fileBrowserControl' classid='http:FileBrowser.dll#FileBrowser.theBrowser'> 
      <span>File control did not initialize.</span> 

: 여기


using System.Windows.Forms; 

namespace FileBrowser { 
    public partial class theBrowser : UserControl { 
     public theBrowser() { 
      InitializeComponent(); 
      MessageBox.Show("TBI"); 
     } 
     public string theFile = "foobar"; 
    } 
} 

웹 페이지 코드 것 : 여기 코드는 생성자 해고했지만 자바 스크립트 경고는 구성 요소 문자열에 '정의되지 않음'을 제공합니다. 이것은 실제 버전에서, 내가 자바 스크립트에서 공용 함수를 호출 할 수없는 스트립 다운 버전입니다. '개체가이 속성이나 메서드를 지원하지 않습니다.'라는 오류가 발생합니다.

나는 분명히 정말 간단한 것을 놓치고 있지만 분명히 보지 못합니다. 어떤 도움을 주셔서 감사합니다. Jon

+0

당신이 양식 대신 웹 UserControl을 사용하려는나요은 UserControl을? –

+0

상관 없습니다. 문제의 일부는 ActiveX 컨트롤로 작동하는 컨트롤을 만들었으며 VS2008에서이 컨트롤을 확인할 수 없었습니다. – Jon

+0

ASP.NET 또는 WinForms로 작업하고 있습니까? – jrummell

답변

1

네, ASP.NET 관리 코드는 클라이언트 측 스크립트에 자동으로 연결되지 않으므로 직접 연결해야합니다.

1) 웹 UserControl을

2) aspx 페이지에 등록 귀하의 UserControl을 만들기 : http://msdn.microsoft.com/en-us/library/sbz9etab.aspx

3) 사용자 정의 컨트롤의 코드 숨김에서 이후에 나의 제안 될 것이다 그것은,이 같은 것을 사용하여 컨트롤의 스크립트로 "theFile"속성 값을 밀어로드합니다 그럼 당신은 변수 "theFile"을 사용하여 자바 스크립트에서 그 값에 액세스 할 수 있습니다

Page.ClientScript.RegisterStartupScript(Page.GetType(),"inject","var theFile='" + this.theFile + "';",true); 

4)

관련 문제