2012-08-06 2 views
0

J'ai une image placée dans UpdatePanel. J'ai défini ImageUrl dans l'événement button_click. L'image est dans App_Data/imagesDirectory. Pourquoi l'image n'apparaît-elle pas sur la page Web?Pourquoi l'image n'apparaît pas dans un UpdatePanel?

<asp:Panel ID="Panel1" runat="server" style="direction: ltr"> 
<asp:ListBox ID="photosListBox" runat="server" Rows="1"></asp:ListBox> 
<asp:Button ID="selectButton" runat="server" Text="select" 
    onclick="selectButton_Click" /> 
<asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager> 
<br /> 
<asp:UpdatePanel ID="UpdatePanel2" runat="server"> 
    <ContentTemplate> 
     <asp:Image ID="ph" runat="server" /> 
     <br /> 
     <br /> 
     <asp:Button ID="submit" runat="server" onclick="submit_Click" 
      Text="submit" /> 
     <br /> 
     <br /> 
    </ContentTemplate> 
</asp:UpdatePanel> 
</asp:Panel> 

im just définir la propriété ImageUrl en ce qui rapportait le control.however d'image, le code du bouton:

UpdatePanel2.Visible = true; 
     submit.Visible = true; 
     photosListBox.Visible = false; 
     selectButton.Visible = false; 

     Users sentUser = (Users)Session["user"]; 
     Gallery sentGallery = (Gallery)Session["gallery"]; 
     string selectedName = photosListBox.SelectedItem.ToString(); 
     int selectedId = Convert.ToInt32(photosListBox.SelectedItem.Value); 

     ModelContainer ml = new ModelContainer(); 
     Users u = ml.UsersSet.Where(t => t.Username == sentUser.Username).First(); 
     Gallery g = u.Gallery.Where(t => t.Name == sentGallery.Name && t.Id == sentGallery.Id).First(); 
     Photo p = g.Photo.Where(t => t.Name == selectedName && t.Id == selectedId).First(); 

     ph.ImageUrl = MapPath(p.PhotoAdd); 
     nameTextBox.Text = p.Name; 
     descriptionTextBox.Text = p.Description; 
     uploadDateTimeLabel.Text = p.UploadDateTime.ToString(); 

i ont également mis attribut ImageUrl en cas PreRender du page.but est travail nt:

protected void Page_PreRender(object sender, EventArgs e) 
    { 
     ph.ImageUrl = imageU; 
    } 

imageU est un champ de la classe page

+1

Montrez-nous le code du bouton. – Adil

+0

Avez-vous débogué votre code? À quelle étape les choses ont-elles mal tourné? – Curt

+0

Vérifiez quelle URL est affectée dans l'instruction ph.ImageUrl et mettez cette URL dans le navigateur pour vérifier si elle est correcte. – Adil

Répondre

0

Votre photosListBox est pas le panneau de mise à jour afin que la valeur sélectionnée ne soit pas renvoyée au serveur lorsque submit_Click() est en cours d'exécution.

+0

J'ai débogué mon code. L'imageU a de la valeur et c'est valide – thirdDeveloper

1

protégée Vous devez définir ImageUrl en cas PreRender de votre page

1 Trouver nos données dans l'événement

2 Enregistrer les données dans la variable de votre page

3 Set attribut de l'image sur PreRender

+0

les données d'image doivent être récupérées dans l'événement button_click. – thirdDeveloper

+0

récupérer vos données dans l'événement, enregistrez-le dans une variable locale et définir dans le pré-rendu –

Questions connexes