1

テキストボックスと画像アップローダーのセットを持つjquery UIウィンドウがあります。うまく起動できましたが、画像アップローダーに問題があります。

ユーザーがクリックして画像をアップロードすると、コードは正常に起動しますが、ポストバック後に同じページに戻りますが、フラット ページとして表示されます (つまり、UI ウィンドウもスタイルもありません)。

ページにはポストバックがあるため、以前の状態について何も知らないと推測しています。初歩的な質問で申し訳ありませんが、私は通常MVCプロジェクトに参加していて、睡眠中にこれを行うことができました笑。

私ができることについて誰かアドバイスをいただけますか。コード:

これはグリッドからウィンドウをロードします:

$("a[name^='editSection_']").on("click", function (e) {
    e.preventDefault();

    var id = $(this).data("id");
    var divDiag = $("#addEdit");


    $.ajax({
        url: "/edit.aspx?id=" + id,
        success: function (data) {
            $(divDiag).html(data);
            $(divDiag).dialog({
                show: { effect: 'drop', direction: "up" },
                title: "Editing Feature Box",
                height: 800,
                width: 740,
                modal: true,
                resizable: false,
                option: "show",
                close: function (ev, ui) {
                    window.location.reload(true);
                }
            });
        },
        error: function (data) {
            $(divDiag).html(data);
            $(divDiag).dialog({

                show: { effect: 'drop', direction: "up" },
                title: "Editing Feature Box",
                height: 800,
                width: 740,
                modal: true,
                resizable: false,
                option: "show",
                close: function (ev, ui) {
                    window.location.reload(true);
                }
            });
        }
    });

これは、画像アップローダーの HTML です。

        <asp:FileUpload ID="editImage" runat="server" />
        <asp:Button ID="btnUploadImage" Text="Upload" runat="server" OnClick="btnUploadImage_Click" />
        <asp:Label ID="lblUpload" runat="server"></asp:Label>

コードは btnUploadImage で実行されます。

    protected void btnUploadImage_Click(object sender, EventArgs e)
    {
        if (editImage.HasFile)
        {
            try
            {
    .....code to upload sits here 

アップロードが実行されたら、以前と同じ状態で UI ウィンドウにまっすぐ戻りたい..

どんな助けでも大歓迎です

4

2 に答える 2

0

その通りです。ファイル アップロード コントロールは、ファイルをアップロードするためにページ上で完全なポストバックを実行するため、開いているダイアログは失われます。私が見たところ、2つのオプションがあります。

  • ポストバック後、以前と同じ状態でJqueryダイアログを再度開きます(あなたの場合、これは不可能または望ましくない場合があります)
  • ファイル アップロード コントロールを別のものに変更します。ここでは、このような ajax アップロードの方が適しているかもしれません。
于 2013-04-18T08:26:42.037 に答える