Обновление панели обновления при коде, стоящем за вызовом функции в C # — Ajax

#asp.net #ajax #c#-4.0 #partial-page-refresh #partial-postback

#asp.net #ajax #c #-4.0 #частичное обновление страницы #частичная обратная передача

Вопрос:

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

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

Файл Default.aspx

 <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#

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

С уважением

Ответ №1:

Если вы хотите обновить панель обновления, попробуйте это…

 UpdatePanel1.Update();
  

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

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

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

Комментарии:

1. @ Mayur Borad Как я могу определить «UpdatePanel1.Update();» на странице FileUpload.aspx, когда мой фактический UpdatePanel1 установлен по умолчанию.aspx, не могли бы вы привести мне пример кода

Ответ №2:

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

Это сценарий:

 <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 amp; "")   filename)
        Dim fullImage As System.Drawing.Image = New System.Drawing.Bitmap((savepath amp; "")   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" amp; "")   "t_"   filename)

        context.Response.Write("<a href='"   (tempPath amp; "/")   filename   "'><img src='"   tempPath   "/thumbs" amp; "/"   "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
  

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

Комментарии:

1. Спасибо, я новичок во всем этом, можете ли вы привести мне пример, основанный на приведенном выше коде, был бы признателен за это