-1

Uploadify Image アップロード コントロールと一緒にいくつかのコントロールを備えた Default.aspx があり、別のファイル UploadImages.aspx ファイルを呼び出して、jQuery を使用して画像をアップロードします。一般的な C# コードを使用して画像をアップロードし、画像の詳細もデータベースに保存します。

Default.aspx ページの HTML コード

<asp:UpdatePanel ID="UpdatePanel1" runat="server" ChildrenAsTriggers="False"  UpdateMode="Conditional">
   <ContentTemplate>                                 
        <asp:DataList ID="DataList1" runat="server" DataSourceID="SqlDataSource1" RepeatDirection="Horizontal" >
            <ItemTemplate>
                <br /><img src='http://test.kashmirsouq.com/ImageUploads/<%# Eval("ImageID") %>' width="100px" height="100px"   vspace="2" hspace="2" border="1" />
                <br /><asp:LinkButton ID="lnkBtnDeleteImage" CommandArgument='<%# Eval("sno") %>' CommandName="Delete" runat="server">
         Delete</asp:LinkButton>
        <br />
            </ItemTemplate>
        </asp:DataList>
        <asp:SqlDataSource ID="SqlDataSource1" runat="server" 
            ConnectionString="<%$ ConnectionStrings:SQLConnectionString %>" 
            SelectCommand="SELECT [sno], [ImageID] FROM [User_Images]">
        </asp:SqlDataSource>
 </ContentTemplate>
</asp:UpdatePanel> 

メソッドを使用して UpdatePanel1 を更新したいのですがUpdatePanel1.Update()、updatePanel1 コントロールを UploadImage.aspx ページに登録する方法がわかりません。

これで私を助けてください私の基本的な目的は、ページを更新せずにアップロードしたら画像を表示することです

セキュリティ上の理由で機能するようになったので削除されたリンクのページの例

4

3 に答える 3

0

ASP.NET WebForms の UpdatePanel は、元の aspx ファイルを処理することによって、表示中のページの一部を更新するためにのみ使用できます。そのため、Default.aspx の UpdatePanel は常に Default.aspx に戻ります。UploadImage.aspx のような別のページの出力をまったく取得できません。

UploadImage.aspx をユーザー コントロールに変更し、それを Default.aspx ページの updatepanel に含めることで、これを回避できる場合があります。

于 2011-11-05T12:17:45.810 に答える
0

onAllCompleteクライアント側のコードから更新パネルを更新するには、uploadify のイベントを使用してみてください。そのために、ページ ボタンに追加し、このボタンの AsyncPostbackHandler を updatepanel のトリガー コレクションに追加し、uploadify onAllComplete イベント ハンドラーでプログラムによってこのボタンをクリックします。

$('#fuFiles').uploadify({
    onAllComplete: function (event, data) { $("#<%= HiddenButton.ClientID %>").click(); return true; },
    uploader: 'Scripts/uploadify.swf',
    script: 'FileUploads.aspx',
    cancelImg: 'Scripts/cancel.png',
    auto: 'true',
    multi: 'true',
    buttonText: 'Browse...',
    queueSizeLimit: 5,
    simUploadLimit: 2
});


<asp:Button runat="server" ID="HiddenButton" Style="display: none;" />

<asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional" ChildrenAsTriggers="false">
            <Triggers>
                <asp:AsyncPostBackTrigger ControlID="HiddenButton" />
            </Triggers>
于 2011-11-05T20:18:12.563 に答える
0

コード@Yuriy Rozhovetskiyに小さな変更を加えて動作させましたが、何らかの理由で動作していませんでした。クレジットは@Yuriy Rozhovetskiyに送られるので、彼の答えを正しいものとしてマークします。以下は動作中のテスト済みバージョンです。

<script type="text/javascript">
    $(document).ready(function () {
        $('#fuFiles').uploadify({
            //'onAllComplete': function (event, data) { $("#<%= HiddenButton.ClientID %>").click(); return true; },
            'uploader': 'Scripts/uploadify.swf',
            'script': 'FileUploads.aspx',
            'cancelImg': 'Scripts/cancel.png',
            'auto': 'true',
            'multi': 'true',
            'fileExt': '*.jpg;*.gif;*.png',
            'buttonText': 'Browse...',
            'queueSizeLimit': 5,
            'simUploadLimit': 2,
            'onAllComplete': function (event, data) 
            {
                $("#<%= HiddenButton.ClientID %>").click();
                return true; 
            }
        });
    });
</script>

        <asp:DataList ID="DataList1" runat="server" DataSourceID="SqlDataSource1" RepeatDirection="Horizontal" >
            <ItemTemplate>
                <br /><img src='http://test.kashmirsouq.com/ImageUploads/<%# Eval("ImageID") %>' width="100px" height="100px"   vspace="2" hspace="2" border="1" />
                <br /><asp:LinkButton ID="lnkBtnDeleteImage" CommandArgument='<%# Eval("sno") %>' CommandName="Delete" runat="server">
         Delete</asp:LinkButton>
        <br />
            </ItemTemplate>
        </asp:DataList>
        <asp:SqlDataSource ID="SqlDataSource1" runat="server" 
            ConnectionString="<%$ ConnectionStrings:SQLConnectionString %>" 
            SelectCommand="SELECT [sno], [ImageID] FROM [User_Images]">
        </asp:SqlDataSource>
 </ContentTemplate>
</asp:UpdatePanel> 
<asp:Button runat="server" ID="HiddenButton"  Style="display: none;" onclick="HiddenButton_Click" />

   <div id="fuFiles"></div> 
于 2011-11-06T06:18:57.360 に答える