1

私はかなりの検索を行い、さまざまなオプションを試しました。同様の問題を抱えている他の人を見たことがありません。

次のコードをページに配置すると、要素はページ上で正常に反応します。「ToolKitScriptManager」については、通常のものと以下に示すものの両方を試しました。どちらも機能しません。

        <asp:ToolkitScriptManager ID="ToolkitScriptManager1" runat="server"></asp:ToolkitScriptManager>
        <asp:AjaxFileUpload ID="inpFileUpload" runat="server" OnUploadComplete="inpFileUpload_UploadComplete" MaximumNumberOfFiles="3" AllowedFileTypes="jpg,jpeg,doc,png" />

要素の次のバックグラウンド コードがあります。

    protected void inpFileUpload_UploadComplete(object sender, AjaxControlToolkit.AjaxFileUploadEventArgs e)
    {
        string path = @"\\NetworkPath\UploadedFiles\" + e.FileName;
        inpFileUpload.SaveAs(path);
    }

ただし、エラーや、問題が発生している可能性があることを示すメッセージは表示されません。この要素で見つけることができるすべてのチュートリアルに従いましたが、この問題を解決できた人はいません。

参照を押してファイルを検索し、1 つまたは複数を選択すると、すべてが正常に機能しているように見え、ファイルがアップロード リストに表示されます。

ただし、この AjaxFileUpload 要素に付属の [アップロード] ボタンをクリックしても何も起こりません。[アップロード] ボタンが赤く表示されることがありますが、すぐに [アップロード] の青いスタイルに戻ります。選択したファイルをアップロードしないか、ボタンが押されたときにボタンの外観をすばやく変更する以外に何もしていないことがわかります。

何が間違っているのか、何かが足りないのかわかりません..

アップデート

マシューの助けのおかげで、「アップロード」ボタンを押すと「キャッチされていない例外: アップロードの開始に失敗しました」を返す JavaScript エラー コンソールがあったことを知りました。

4

4 に答える 4

1

セクションのweb.configからこれが欠落している可能性があると思います<system.web>

<httpHandlers>
  <add verb="*" path="AjaxFileUploadHandler.axd" type="AjaxControlToolkit.AjaxFileUploadHandler, AjaxControlToolkit"/>
</httpHandlers>

リンクで見つかりました: http://ajaxcontroltoolkit.codeplex.com/SourceControl/latest#SampleWebSites/AjaxControlToolkitSampleSite/Web.config

于 2013-07-17T17:12:59.527 に答える
1

私はそれを解決したように見えます。ページをロードすると、 Request.QueryString["id"] と関係があります。何らかの理由でページをリロードし、null を返す QueryString を失い、ファイルのアップロードですべてが台無しになります。

ハードコードされた変数を QueryString["id"] として割り当てると、アップロードは正常に機能します。ただし、QueryString を取得するために通常のままにすると、失敗して null が返されます。

ID番号ではなくnullを取得している理由を解決していませんが、ID番号をハードコーディングするとアップロードが機能し、これが問題であることをほぼ確認しています。

ファイルのアップロード時に QueryString が null を返す理由について誰かが情報を持っている場合、それは素晴らしいことです! 笑

答え

いくつかの調査を行いましたが、明らかにこれは AjaxToolKit の問題であり、私が行っていることではありません。https://ajaxcontroltoolkit.codeplex.com/workitem/27149からリンクをダウンロードし、更新された JavaScript コードの変更を含む DLL を使用すると、すべてが正常に機能し始めました。

私が見つけたものから、fileuploadはURLに既に配置されているクエリ文字列を解析しないため、それらを必要なものに置き換え、多くのエラーなしで続行します。

彼らがそれの更新されたバージョンを入手できることを願っています.

于 2013-07-19T14:14:08.047 に答える
0

以下の行を web.config ファイルの構成セクションの下に追加します。

<configuration>
<system.webServer>
<handlers>
<add name="AjaxFileUploadHandler" verb="*" path="AjaxFileUploadHandler.axd" Type="AjaxControlToolkit.AjaxFileUploadHandler, AjaxControlToolkit"/>
</handlers>     
</system.webServer>`
</configuration>
于 2014-09-12T11:49:03.243 に答える