2009-05-22 20 views
0

WindowsフォームコントロールがDLLにラップされ、Objectタグ内のIEにデプロイされている問題があります。オブジェクトは、Javascriptがサーバーにポストバックする準備ができた隠しフィールドに挿入する文字列を返さなければなりません。これは私が何回か使用したアプローチですが、私は今、恐ろしい "オブジェクトはこのメソッドまたはプロパティをサポートしていません"エラーメッセージをJavascriptから取得しています。これを文字列を返す関数の呼び出しに絞り込んだ。私が解消しましたIEのWindowsフォームコントロールがJavaScript呼び出しに応答しない

もの:

  1. 関数呼び出し
  2. のスペルミスと呼ばれる機能が
  3. 権限エラーパブリック関数である - すべてのローカルホスト上で実行して、信頼済みサイトなど

関連性があるもの:

  1. DLLは、コントロールがカスタムである
  2. コントロールで使用されるクラスのカップルが含まれていますが、使用されるさまざまなWindowsフォームは、基本的な流れがある
  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

答えて

0

試してください: -

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

すでに、これにも喜びはありません。 JavaScriptを介してユーザーコントロールにアクセスできないように、マシンレベルで何かが存在する可能性がありますか?ローカルホスト(テスト用)に完全なアクセス許可を与えるようにCASポリシーを変更しました。 – StickyMcGinty

関連する問題