0

ファイルをアップロードするためのユーザー コントロールでは、クライアント側 (funClientUploadComplete、funClientUploadError) とサーバー側のイベント (uplFile1_UploadedComplete) の両方が起動されません。いくつかのデバッグの後、クライアント側のイベント関数が「未定義」であることがわかりました。これらは、以下の HTML で明確に定義されています。なぜ彼らはまだ「未定義」なのですか?それらをどのように定義/バインドできますか? これが、サーバー側のイベント関数が呼び出されない理由でもあると思います。以下のコードを参照してください。あなたの応答に感謝します。

<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="asp" %>
<script type="text/javascript">
    function funClientUploadComplete() {
        alert('fdj-1');                            // alert box does not show
    }

    function funClientUploadError() {        
        alert('fdj-2');                            // alert box does not show    
    }

</script>

<div style="float: left;">
<asp:GridView ID="grdUploadControls" runat="server" AutoGenerateColumns="False" OnRowDataBound="grdUploadControls_RowDataBound" >
        <Columns>
            <asp:TemplateField>
                <ItemTemplate>
                    <asp:AsyncFileUpload ID="uplFile1" runat="server" OnUploadedComplete="uplFile1_UploadedComplete" OnClientUploadComplete="funClientUploadComplete"
                            OnClientUploadError="funClientUploadError" UploaderStyle="Modern" ClientIDMode="AutoID" />
                </ItemTemplate>
            </asp:TemplateField>
        </Columns>
    </asp:GridView>
</div>

サーバー側イベントのコード ビハインド: (ブレークポイントにヒットしない)

   protected void uplFile1_UploadedComplete(object sender, AsyncFileUploadEventArgs e)
    {
        // Typecast the source of this event to an AsynFileUpload
        AsyncFileUpload afux = (AsyncFileUpload)sender;
        .....
        .....
    }

ご覧いただきありがとうございます。

4

0 に答える 0