2016-05-29 107 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代码。