2012-08-06 77 views
0

我有一個放置在UpdatePanel中的圖像。我在button_click事件中將它設置爲ImageUrl。圖像位於App_Data/imagesDirectory中。爲什麼網頁上沒有顯示圖像?在它爲什麼圖像在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> 

我只是設置ImageUrl屬性是相關的圖像control.however,按鈕代碼:

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(); 

我還設置的ImageUrl屬性在page.but的PreRender事件是NT工作:

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

imageU是網頁類的受保護領域

+1

向我們顯示按鈕代碼。 – Adil 2012-08-06 15:17:49

+0

你調試了你的代碼嗎?事情在哪個階段出現錯誤? – Curt 2012-08-06 15:36:32

+0

檢查聲明ph.ImageUrl中分配的URL,並將該URL放入瀏覽器以驗證它是否正確? – Adil 2012-08-06 15:39:01

回答

0

你photosListBox不更新面板,所以當submit_Click()正在執行時,所選值不會被髮送回服務器。

+0

我已調試我的代碼。imageU有價值,它是有效的 – thirdDeveloper 2012-08-06 16:39:27

1

你必須定義的ImageUrl在PreRender事件的頁面

1的找到我們的數據在事件

2將數據保存在你的頁面的變量

3圖像設置屬性上的PreRender

+0

必須在button_click事件中檢索圖像數據。 – thirdDeveloper 2012-08-06 15:40:13

+0

您在事件中檢索您的數據,將其保存在本地變量中,並在預渲染中設置 – 2012-08-06 15:42:14