ImageButton为YouTube链接创建了404错误

时间:2011-12-05 20:55:48

标签: asp.net

我有YouTube的链接:当您输入或复制到网址框时,它可以正常工作。

当我将其嵌入到我的代码中时,它适用于锚标记,但不适用于asp ImageButton

此代码有效:

<a href ="http://www.youtube.com/agla4me" ><img src="Images/youtube.png"  style= "border: none"/></a>

此代码不起作用。它会给你404:

<asp:ImageButton ID="ibYouTube" runat="server" ImageUrl ="Images/youtube.png" PostBackUrl="http://www.youtube.com/agla4me"  />

我跑了fiddler并查看了请求标题,我看到ImageButton有pragma:no-cache。
no-cache是​​否因为youtube缓存导致404错误?如果是这样,我如何为Imagebutton关闭no-cache。

由于

1 个答案:

答案 0 :(得分:0)

您应该查看使用ImageButton控件生成的源代码。我的想法是你误解了PostBackUrl的工作方式。 PostBack与Redirect不同(我假设您正在尝试这样做)。要使用asp:ImageButton执行此操作,您可以使用javascript重定向onClientClick

<asp:ImageButton ID="ibYouTube" runat="server" ImageUrl ="Images/youtube.png" OnClientClick="location.href='http://www.youtube.com/agla4me'" runat="server" />

我怀疑当您尝试向其发布数据时,youtube可能会感到困惑。要更好地了解PostBack,请查看W3schools Postback introduction here

虽然使用常规锚标签可能更容易。除非你有更特别的想法。此外,请确保在您网页上的任何ASP控件中加入runat="server"