2009-05-22 42 views
0

我有一個Windows窗體控件封裝在一個DLL中,並部署到對象標籤內的IE的問題。該對象應返回一個字符串,該字符串將JavaScript放入隱藏字段中,準備發回服務器。這是我多次使用的方法,但是我現在正在從Javascript獲取可怕的「對象不支持此方法或屬性」的錯誤消息。我縮小了這個範圍,以調用返回字符串的函數。Windows窗體控件在IE中沒有響應JavaScript調用

事情我已經消除:在函數調用

  1. 拼寫錯誤
  2. 被調用的函數是公共職能
  3. 權限錯誤 - 在本地主機上所有正在運行的,受信任的站點,等

可能相關的事物:

  1. 該DLL包含幾個類這是在控制
  2. 控制是自定義使用,但使用各種窗口的形式控制
  3. 的基本流程是控制(其允許用戶輸入附圖的多頁)構建一個對象,該對象被序列化並輸出到基本64字符串。 javascript調用一個輸出函數並將(壓縮的)字符串放入一個隱藏的控件中。表單被提交併且字符串被髮送回服務器進行處理。

如果有人可以幫忙,我將不勝感激。

<body> 
<script language="javascript" type="text/javascript"> 
    function GetValues(){ 
     alert(document.draw1.ReturnSerialisedObjectString()); 
     return true; 
    } 
</script> 


<input type="hidden" id="hdnData" runat="server" /> 
<input type="button" onclick="javascript:return GetValues();" value="Click Me" /> 

<br /><br /> 

<object id="draw1" classid="SlainteCustomControls.dll#SlainteCustomControls.FreeFormControl" width="482" height="579" viewastext /> 

+1

你能提供在組件的C#代碼的一些示例。你實施了IObjectSafety嗎?必須正確修飾要通過COM訪問的類和方法嗎? – AnthonyWJones 2009-05-22 13:17:40

回答

0

嘗試: -

alert(document.getElementById('draw1').ReturnSerialisedObjectString()); 
+0

已經有了,這也沒有喜悅。 在機器級別可以有其他的東西來阻止用戶控件被JavaScript訪問嗎?我已經修改了CAS策略以允許本地主機的完全權限(用於測試)。 – StickyMcGinty 2009-05-22 11:55:25

相關問題