0

Uploadify v2.1.4를 사용하여 ASP.Net C# FM 4.0을 사용하여 이미지를 업로드하고 있습니다. 이 페이지에서 C#의 함수 호출에서 패널 업데이트 새로 고침 - Ajax

나는 또한 다른 컨트롤을 가지고,하지만 난 이미지를 업로드 할 때 자동으로 이미지가

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

을 업로드

Default.aspx를 파일 보여주기 위해 UpdatePanel1을 새로해야하는 방식의 기능을 원하는

페이지 예는 여기 test.kashmirSouq.com

내가 ,453 jQuery를

사용하여 이미지를 업로드 FileUplaad.aspx 파일을 호출하고 내가 FileUpload.aspx.cs에

입니다 기능하고 saveData()에서 updatepanel1를 새로 고칠 수 있도록

및 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

업로드 완료 이벤트 후 응답을 사용하여 이미지를 표시하십시오. 업로드 한 즉시 사용자가 이미지를 찾을 수 있습니다.당신은 이미지의 썸네일을 찾을 사용자 업로드 즉시 추가 썸네일을 찾을 수 위의 코드에서

<%@ 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 

:

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

이 핸들러입니다 :

는 스크립트입니다 .

+0

감사합니다. 위의 코드를 기반으로 예제를 제공 할 수 있습니까? 감사합니다.이 코드를 기반으로 예제를 제공 할 수 있습니까? – Student

+0

수정했습니다. 코드와 그것이 당신을 돕기를 바랍니다! – coder

2

당신이 시도, 업데이트 패널을 새로 고치려면 ... 당신이 Update 메서드를 호출 페이지가 부분 페이지 렌더링을 사용하는 경우

UpdatePanel1.Update(); 

, UpdatePanel 컨트롤의 내용은 브라우저에서 업데이트됩니다. 을 실행해야하는 서버 코드가있는 경우 UpdatePanel 컨트롤을 업데이트할지 여부를 결정하려면 Update 메서드를 호출합니다. Update 메서드를 사용하려는 경우 UpdateMode 속성을 조건부로 설정합니다. 서버 논리에서 확인 된 패널을 으로 업데이트하려면 ChildrenAsTriggers 속성이 false이고 패널에 명시적인 트리거가 정의되어 있지 않은지 확인하십시오. 일반적인 페이지 개발 시나리오에서

, 트리거를 정의하거나 ChildrenAsTriggers 속성 UpdatePanel 컨트롤에 해당하는 경우, 업데이트 방법은 자동으로 페이지 수명주기 동안이라고합니다.

ContentPemplate 속성이 UpdatePanel 컨트롤에 정의되어 있지 않으면 패널 업데이트가 발생하지 않습니다.

+0

@ Mayur Borad 어떻게 "UpdatePanel1.Update();"를 정의 할 수 있습니까? 내 실제 UpdatePanel1이 Default.aspx에있을 때 FileUpload.aspx 페이지에서 코드 예제를 제공 할 수 있습니까? – Student

관련 문제