锚标记在Gridview中不起作用

时间:2013-08-02 05:48:53

标签: c# asp.net

<asp:GridView runat="server" ID="test">
        <Columns>
            <asp:TemplateField>
                <ItemTemplate>
                    <a href="Aboutus.aspx">
                        <asp:ImageButton runat="server" ImageUrl="~/image/background-image-top_banner.jpg"
                            ID="img" /></a>
                </ItemTemplate>
            </asp:TemplateField>
        </Columns>
    </asp:GridView>

当我点击gridview中的图片时,它不会进入Aboutsus页面?为什么锚标签不在这里工作?

3 个答案:

答案 0 :(得分:1)

不要使用图像按钮这将表现为asp.net按钮,因此您已经杀死了您的链接。请改用asp:超链接

<asp:Hyperlink runat="server" Id="navAbtUs" NavigateUrl="AboutUs.aspx" ImageUrl="~/image/background-image-top_banner.jpg" ID="img" />

我也会质疑为什么要使用Gridview,你会看到一个包含重复信息的列。

答案 1 :(得分:1)

尝试像这个chagne图像按钮到简单的asp图像

<a href="Aboutus.aspx">
                        <asp:Image runat="server" ImageUrl="~/image/background-image-top_banner.jpg"
                            ID="img" /></a>

Imagebutton总是给我带来问题, 所以我总是使用链接按钮并在它之间给出图像

<asp:linkbutton id="id1" runat="server" ><img src='<Eval("Imagepath" >' /> </asp:linkbutton>

我知道这不是合适的答案,但是我遇到了gridview里面的图片按钮问题,看到其他一些家伙也面对了,所以我建议,这是一个很好的替代图像按钮

顺便说一下为什么需要将图像按钮放在linkbutton中,如果不想使用html图像,你可以简单地保留asp图像

答案 2 :(得分:1)

你可能会做这样的事情,以保持简单

<a href="aboutus.aspx"><img src='<%# Eval("ImageSource") %>' /></a>

或者使用src =“您的图像位置”,如果这是静态的