2012-02-22 22 views
0

私のWebアプリケーションでは、マスターaspxページがあります。そのボタンをクリックすると、私はascx Webユーザーコントロールを呼び出しています。これは、javascriptを使って同じデータを投稿しようとしています私が知っているようにascxページにデータを投稿することができますが、どうすればそれを可能にするのでしょうか?あなたは、ファイルの非同期のアップロード中に進行し、ハンドラに他のイベントを与えるのに役立ちますいくつかのjQueryプラグインを使用してみてくださいASCXのJavaScriptから同じascxコントロールにデータを投稿するには?

xhr.open('POST', '../test.ascx?Id=' + <%=Id%>, true); //Id is the property in ascx page 
xhr.setRequestHeader('FILENAME', file.name); 
xhr.send(file); 

とのOnInit ..

 if (!string.IsNullOrEmpty(Request.Headers["FileName"])) 
     { 
      string Name = Request.Headers["FileName"].ToString(); 
      Stream Stream1 = Request.InputStream; 
      Add(Name, Stream1, Id); 
     } 
+3

ascx ???あなたは外部パスからアクセスできないのでユーザコントロールにアクセスすることはできません。あなたはhttphandlers/webmethodsを使用しているはずです。これを見てくださいhttp://stackoverflow.com/questions/579024/calling-an-ascx-page-method-使用してjquery –

+0

場合、私はどのようにファイルをハンドラに送ることができますか? – Rocky

答えて

0

ascxコントロールに直接投稿することはできません。私はこの問題を解決するためにハンドラを使いました。

xhr.open('POST', '../Controls/test1.ashx?Id=' + '<%=Id%>', true); 
0
+0

私はbtnのクリックを使用していない、私はドラッグアンドドロップ機能を使用しています.. – Rocky

+0

自分でドラッグアンドドロップを実装している?またはhtml5を使用していますか? jqueryプラグインを使用できる場合は、http://blueimp.github.com/jQuery-File-Upload/を使用する必要があります。ドラッグアンドドロップやマルチファイルのアップロードをサポートしています。 –

+0

私はプラグインを使用してプラグインをjquery/jQuery/jQuery – Rocky

1

ascxコントロールに直接投稿することはできません。コントロールを含むaspxページに投稿する必要があります。ページは、ページ上に静的に(マークアップ内に)宣言したコントロールを含むツリーを自動的に作成します。ダイナミックコントロールには特別な注意が必要です。

その後、通常は、Page_Load()などの初期イベントハンドラで入力クエリ文字列またはPOSTデータを解析し、必要な呼び出しを指定されたコントロールに対して実行します。

関連する問題