2016-05-29 109 views
0

不會改變我有下面的代碼片段在我的網頁圖像URL在aspx頁面

<asp:UpdatePanel runat="server" ID="UpdatePanel1"> 
    <Triggers> 
     <asp:AsyncPostBackTrigger ControlID="testButton" /> 
    </Triggers> 
    <ContentTemplate> 
     <asp:Image ID="testImage" runat="server" ImageUrl="~/triangle.png" /> 
    </ContentTemplate> 
</asp:UpdatePanel> 

<asp:Button runat="server" ID="testButton" Text="Change Image" OnClick="testButton_Click" /> 

,並已得到了在背後

protected void testButton_Click (object sender , EventArgs e) { 
    testImage.ImageUrl = ""; 
} 

我的代碼下面當我按一下按鈕,由於它的URL已經被設置爲空的字符串,所以圖像消失了 - 我明白了。但是當我查看頁面源代碼時,我發現原始圖像URL在asp頁面中初始化,我非常需要將URL設置爲空字符串。

+1

您使用哪種瀏覽器?查看頁面的源代碼按鈕正在顯示來自服務器的最新源代碼(不是您當前的源代碼) – wal

+0

@wal google chrome – ashubuntu

+2

使用F12查看當前源 – wal

回答

1

我在下面的標記改變你的ASP圖像的ImageUrl值:

<asp:UpdatePanel runat="server" ID="UpdatePanel1"> 
<Triggers> 
    <asp:AsyncPostBackTrigger ControlID="testButton" /> 
</Triggers> 
<ContentTemplate> 
    <asp:Image ID="testImage" runat="server" ImageUrl="<%#changeableImageUrl %>" /> 
</ContentTemplate> 

代碼背後:

public string changeableImageUrl; 
protected void Page_Load (object sender , EventArgs e) { 
    changeableImageUrl= "~/triangle.png"; // initial image URL 
    this.DataBind(); // since data have been bound in the page by data binding syntax 
         // <%#changeableImageUrl %> 
} 
protected void testButton_Click (object sender , EventArgs e) { 
    changeableImageUrl= ""; // to set html-rendered src attribute of img element to "" 
    this.DataBind(); //bind data to the page 
} 

changeableImageUrl必須聲明的頁面內公開。現在,您可以更改changeableImageUrl以更改圖像URL。

1

這是因爲瀏覽器不重新加載所有頁面源,但是如果您在ScriptManager中更改參數,在IDE中(不是運行時)。如果設置爲false EnablePartialRendering = false;這可能會解決您的問題,並始終有新的HTML代碼。