日期:2014-05-17  浏览次数:20390 次

GridView中ImageButton控件动态显示图片之后为什么不能链接跳转到详情页面
我用GirdView控件加了一个ImageButton控件并能动态从数据库中调用图片,当我加上<a herf="">....</a>之后点击却不能链接详情页面

代码附上:

<asp:GridView ID="Griztzl" runat="server" AutoGenerateColumns="False" ShowHeader="False"
  Width="240px" GridLines="None" Font-Size="14px" OnRowDataBound="Griztzl_RowDataBound">
  <HeaderStyle CssClass="GridHeader" />
  <RowStyle CssClass="Padding" />
  <Columns>
  <asp:TemplateField>
  <ItemTemplate>
  <asp:Label ID="labID" runat="server" Text='<%#Bind("ID") %>' Visible="false"></asp:Label>
  </ItemTemplate>
  <ItemStyle CssClass="GridButton" />
  </asp:TemplateField>
  <asp:TemplateField>
  <ItemTemplate>
  <a href='<%#"../ztzl/detailztzl.aspx?ID="+Eval("ID") %>' target="_blank">
<asp:ImageButton ID="Imageztzl" runat="server" ImageUrl='<%# Bind("zImage") %>' Width="230" Height="60"/></a><br /> <a href='<%#"../ztzl/detailztzl.aspx?ID="+Eval("ID") %>' target="_blank">
  <asp:Label ID="labztzl" runat="server" Text='<%# Bind("Title") %>'></asp:Label></a>
  </ItemTemplate>
  </asp:TemplateField>
  </Columns>
  </asp:GridView>

------解决方案--------------------
可以试试这种:
<ItemTemplate>
<table width='100%' border="0">
<tr>
<td width="80%" valign="middle" align="right" ><%# DataBinder.Eval(Container, "DataItem.FlowName")%></td>
<td width="20%" align="left" ><asp:ImageButton ID="imageButton" ImageUrl="../../../Images/xxx.png" runat="server" PostBackUrl='<%# GetUrl(DataBinder.Eval(Container, "DataItem.ID").ToString()%>'/></td>
</tr>
</table>
</ItemTemplate>


后台:
public string GetDisplayFlow(string ID)
{
return "xxxxxx.aspx?ID="+ID ;
}