Обновление панели обновления кода после вызова функции в C # - Ajax - PullRequest
0 голосов
/ 05 ноября 2011

Я использую Uploadify v2.1.4 для загрузки изображений с использованием ASP.Net C # FM 4.0.

На этой странице у меня есть и другие элементы управления, но я хочу, чтобы функционал был таким, чтобы при загрузке изображений он автоматически обновлял UpdatePanel1 для отображения загруженного изображения

Default.aspx FILE

<asp:UpdatePanel ID="UpdatePanel1" runat="server" >
   <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>

Пример страницы здесь test.kashmirSouq.com

Я вызываю файл FileUplaad.aspx для загрузки изображения с использованием jQuery

<script type="text/javascript">
        $(document).ready(function () {
            $('#fuFiles').uploadify({
                '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
            });
        });

</script>

и в файле FileUpload.aspx.cs я сохраняю файл на сервере и в базе данных, Мне нужен способ, чтобы я мог обновить updatepanel1 из функции saveData (), которая находится в FileUpload.aspx.cs

protected int saveData()
{
            String strSql = "INSERT INTO HMS_User_Images(ImageID,UserID,ImageCreationDate) ";
            strSql += " VALUES ('" + filename + "','123456789', '" + DateTime.Now + "')";
            int result = DataProvider.intConnect_Select(strSql);
}

Поэтому, когда я загружаю изображения, они должны обновиться, сделать частичное обновление страницы сетки. Пожалуйста, дайте мне пример, как я могу сделать это, используя C #

Пожалуйста, дайте совет, как я могу сделать этот пример кода, будет высоко оценен.

Привет

Ответы [ 2 ]

2 голосов
/ 05 ноября 2011

Если вы хотите обновить панель «Обновление», попробуйте следующее ...

UpdatePanel1.Update();

Если страница включена для частичного рендеринга, при вызове метода Update элемент управления UpdatePanelсодержимое обновляется в браузере.Вызовите метод Update, если у вас есть серверный код, который необходимо выполнить, чтобы определить, следует ли обновить элемент управления UpdatePanel.Если вы планируете использовать метод Update, установите для свойства UpdateMode значение Conditional.Если вы хотите, чтобы решение об обновлении панели определялось в логике сервера, убедитесь, что свойство ChildrenAsTriggers имеет значение false и для панели не заданы явные триггеры.

В типичном сценарии разработки страницы, если выопределить триггеры или если свойство ChildrenAsTriggers имеет значение true для элемента управления UpdatePanel, метод Update автоматически вызывается в течение жизненного цикла страницы.

Если свойство ContentTemplate не определено для элемента управления UpdatePanel, никакие обновления панели не будутпроисходят.

1 голос
/ 05 ноября 2011

Попробуйте показать изображение, используя ответ после события завершения загрузки. Так что, когда пользователь, как только он загрузит, вы найдете изображение.

Это скрипт:

<script type="text/javascript">
    $(window).load(
function () {
    $("#fileInput1").uploadify({
        'uploader': 'scripts/uploadify.swf',
        'cancelImg': 'images/cancel.png',
        'buttonText': 'Browse Files',
        'script': 'Upload.aspx',
         'folder': 'uploads',
        'fileDesc': 'Image Files',
        'fileExt': '*.jpg;*.jpeg;*.gif;*.png',
        'queueSizeLimit': 9999,
        'simUploadLimit': 2,
        'sizeLimit': 4000000,
        'multi': true,
        'auto': true,
        'onComplete': function (event, queueID, fileObj, response, data) {
            $("#thumbnail").append(response)
        },

        'onError': function (event, ID, fileObj, errorObj) {
            alert(errorObj.type + ' Error: ' + errorObj.info);
        }


    });
    }
    );

</script>

Это обработчик:

<%@ WebHandler Language="VB" Class="UploadVB" %>

Imports System
Imports System.Web
Imports System.IO
Imports System.Drawing
Public Class UploadVB : Implements IHttpHandler

    Public Sub ProcessRequest(ByVal context As HttpContext) Implements IHttpHandler.ProcessRequest

        Dim postedFile As HttpPostedFile = context.Request.Files("Filedata")

        Dim savepath As String = ""
        Dim tempPath As String = ""
        tempPath = System.Configuration.ConfigurationManager.AppSettings("FolderPath")
        savepath = context.Server.MapPath(tempPath)
        Dim filename As String = postedFile.FileName
        If Not Directory.Exists(savepath) Then
            Directory.CreateDirectory(savepath)
        End If
        If Not Directory.Exists(savepath + "\thumbs") Then
            Directory.CreateDirectory(savepath + "\thumbs")
        End If


        postedFile.SaveAs((savepath & "\") + filename)
        Dim fullImage As System.Drawing.Image = New System.Drawing.Bitmap((savepath & "\") + filename)

        Dim newWidth As Integer = 100
        Dim newHeight As Integer = 80

        Dim temp As New Bitmap(newWidth, newHeight)
        Dim newImage As Graphics = Graphics.FromImage(temp)
        newImage.DrawImage(fullImage, 0, 0, newWidth, newHeight)
        temp.Save((savepath + "\thumbs" & "\") + "t_" + filename)

        context.Response.Write("<a href='" + (tempPath & "/") + filename + "'><img src='" + tempPath + "/thumbs" & "/" + "t_" + filename + "'/></a>")
        context.Response.StatusCode = 200
        'context.Response.Write("OK")

    End Sub

    Public ReadOnly Property IsReusable() As Boolean Implements IHttpHandler.IsReusable
        Get
            Return False
        End Get


       End Property

End Class

В приведенном выше коде вы можете найти миниатюры, добавленные, как только пользователь загрузит, вы найдете миниатюру изображения.

...