2011-11-05 89 views
0

我使用Uploadify v2.1.4使用ASP.Net C#FM 4.0上載圖像。更新面板刷新C#中函數調用後面的代碼 - Ajax

在這個頁面中,我有其他的控制還可以,但我想以這樣的方式,當我上傳圖片就會自動刷新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

上傳圖片

和FileUpload.aspx.cs文件保存我的服務器和數據庫上的文件, 我需要一種方法,這樣我可以從刷新功能SAVEDATA(),這是在FileUpload.aspx.cs

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

嘗試通過使用Onupload完成事件後的響應來顯示圖像。所以當用戶一上載,您就會找到圖像。

這是腳本:

<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 

在上面的代碼,你可以找到儘快附加縮略圖當用戶上傳你發現圖像的縮略圖。

+0

謝謝,我是新來的這一切你能給我一個基於上述代碼的例子,將不勝感激 – Student

+0

我已修改代碼,並希望它可以幫助你! – coder

2

如果你想刷新更新面板,試試這個...

UpdatePanel1.Update(); 

如果頁面的部分頁面呈現啓用,當你調用 更新方法UpdatePanel控件的內容在 瀏覽器中更新。如果您有服務器代碼必須執行 以確定是否應更新UpdatePanel控件,請調用Update方法。 如果您打算使用Update方法,請將UpdateMode屬性設置爲 有條件。如果您希望決定將面板更新爲在服務器邏輯中確定的 ,請確保ChildrenAsTriggers 屬性爲false,並且沒有爲 面板定義明確的觸發器。

在一個典型的頁面開發方案,如果您定義的觸發器或者 的ChildrenAsTriggers屬性是UpdatePanel控件真實, Update方法將自動在頁面生命週期內調用。

如果沒有爲UpdatePanel 控件定義ContentTemplate屬性,則不會發生面板更新。

+0

@ Mayur Borad如何定義「UpdatePanel1.Update();」在FileUpload.aspx頁面上時,我的實際UpdatePanel1是Default.aspx,請你給我一個代碼示例 – Student