2012-12-04 4 views
0

J'ai créé un contrôle utilisateur comme suit pour télécharger des images. Dans son code derrière j'ai la méthode pour enregistrer l'image.ASP.NET Méthodes d'appel sur les contrôles utilisateur

<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="UCImageUploader.ascx.cs" 
    Inherits="WebApplicationFor_ABC.UCImageUploader" %> 
<div> 
    <asp:FileUpload ID="FileUploadImage" runat="server" /> 
    <asp:Image ID="ImageThumbnail" runat="server" /> 
    <asp:Label ID="LblMsg" runat="server" Text=""></asp:Label> 
<asp:CheckBox ID="CheckBoxDelete" runat="server" Text="Delete"/> 

</div> 
Code

derrière comme suit

public partial class UCImageUploader : System.Web.UI.UserControl 
    { 
     public bool SaveImg() 
     { 
         //file field isn't empty 
     if (FileUploadImage.PostedFile != null) 
     { 

      //check file size 
      HttpPostedFile img = FileUploadImage.PostedFile; 

      if (img.ContentLength == 0) // no file uploaded 
      { 
       msg = "No file was uploaded"; 
       LblMsg.Text = msg; 
       return false; 
      } 
      else if (img.ContentLength > fileSizeInKB * 1024) // file size exceeds limit 
      { 
       msg = "File size exceeds the limit. Max is " + fileSizeInKB + "KB"; 
       LblMsg.Text = msg; 
       return false; 
      } 
      else // accepted file size 
      { 
       //check file extension jpg,jpeg,BMP 

       string[] fileExtensions = { "jpg", "jpeg", "bmp" }; 

       if (!fileExtensions.Contains(Path.GetExtension(img.FileName).ToLower())) 
       { 
        msg = "File extension must be of jpg,jpeg,bmp"; 
        LblMsg.Text = msg; 
        return false; 
       } 

      } 
     } 
     msg = "Valid File"; 
     LblMsg.Text = msg; 
     return valid; 
    } 

sur l'événement click sur un autre bouton Je veux appeler cette méthode SaveImg() et enregistrer l'image. Le problème est dû au retour de l'image de publication comme nulle. Comment puis-je réparer cela.

+0

Le problème devrait être dans la méthode 'SaveImg' (ou qui sait). Sans le partager, je crois que personne ne pourra résoudre votre problème. –

Répondre

1

Pour accéder à l'image, ne le faites pas via le contrôle de téléchargement de fichier, par ex.

FileUploadImage.SaveAs(savePath); 
+0

Alors comment puis-je appeler la méthode définie dans le contrôle? Y at-il de toute façon je peux appeler cette méthode et accéder aux données transmises sans les perdre entre les publications. – GC86

Questions connexes