我有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。
由于
答案 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"
。