4

ajaxToolkit:AjaxFileUpload がアップロードを開始したときにメッセージを表示したいのですが、これを行う方法はありますか

4

2 に答える 2

4

デフォルトでAjaxFileUploadは、そのようなイベントはありません。ただし、AjaxControlToolkitはオープンソースライブラリであるため、自分で追加できます。このページから最近のライブラリソースをダウンロードします:ソースコード、AjaxFileUploadコントロールソース(/Server/AjaxControlToolkit/AjaxFileUploadフォルダー)を見つけて、以下のコードをAjaxFileUpload.csファイルに追加します。

[DefaultValue("")]
[Category("Behavior")]
[ExtenderControlEvent]
[ClientPropertyName("uploadStarted")]
public string OnClientUploadStarted
{
    get
    {
        return (string)(ViewState["OnClientUploadStarted"] ?? string.Empty);
    }
    set
    {
        ViewState["OnClientUploadStarted"] = value;
    }
}

その後、AjaxFileUpload.pre.jsファイルを変更します。

// insert this code right after the _raiseUploadComplete method
add_uploadStarted: function (handler) {
    this.get_events().addHandler("uploadStarted", handler);
},

remove_uploadStarted: function (handler) {
    this.get_events().removeHandler("uploadStarted", handler);
},

_raiseUploadStarted: function () {
    var eh = this.get_events().getHandler("uploadStarted");
    if (eh) {
        eh(this, Sys.EventArgs.Empty);
    }
},

// modify the _doUpload method
_doUpload: function () {

    if (!this._filesInQueue.length || this._filesInQueue.length < 1)
        return;

    this._raiseUploadStarted();

    this._currentQueueIndex = -1;
    if (!this._isFileApiSupports)
        this._createIframe();

    this._processNextFile();
}

ソリューションを構築し、新しい機能をお楽しみください。

于 2012-07-27T13:44:52.743 に答える