我有一个正确从数据库获取数据的Gridview。我想在每一行中添加一个图像,当单击它时,它将链接到另一个页面,该链接将有一个参数传递给它。如果我使用的是HyperLinkField,我会使用DataNavigateUrlFormatString属性,但在使用ButtonField时它不起作用。我在这里想念傻事吗?我的代码如下。谢谢。
<asp:Panel runat="server" ID="pnlresults" Visible="false">
<asp:SqlDataSource runat="server" ID="requestedDataSource"
CancelSelectOnNullParameter="false"
ConnectionString="<%$ ConnectionStrings:UnitySQLServerConnectionString %>"
SelectCommand="SELECT PriceListID, PriceListCode, PriceListName, isActive, StartDate, EndDate FROM [SQLQA].[dbo].[Price_Header]">
</asp:SqlDataSource>
<asp:GridView runat="server"
AllowSorting="true"
AutoGenerateColumns="false"
DataSourceID="requestedDataSource"
CssClass="searchOutput"
HeaderStyle-HorizontalAlign="Left"
RowStyle-HorizontalAlign="Left"
AlternatingRowStyle-HorizontalAlign="Left">
<Columns>
<asp:BoundField DataField="PriceListCode" HeaderText="Code" />
<asp:BoundField DataField="PriceListName" HeaderText="Name" />
<asp:BoundField DataField="isActive" HeaderText="Active" />
<asp:BoundField DataField="StartDate" HeaderText="Start Date" />
<asp:BoundField DataField="EndDate" HeaderText="End Date" />
<asp:ButtonField HeaderText="Copy" ImageUrl="../../Images/plus.gif" ButtonType="Image" CommandName="" />
<asp:HyperLinkField DataNavigateUrlFields="PriceListID" HeaderText="Copy"
DataNavigateUrlFormatString="~/?Order_No={0}"
Text="Copy" />
</Columns>
</asp:GridView>
</asp:Panel>
答案 0 :(得分:1)
ButtonField没有DataNavigateUrlFormatString属性。所以不,它不会起作用。
如果要将图像添加到超链接,可以这样做:
.MyStyle {
background-image: url('Images/Test.bmp');
background-repeat: no-repeat;
background-position: center center;
width:100px;
padding-left:50px;
padding-right:50px;
}
<asp:HyperLinkField ControlStyle-CssClass="MyStyle" DataNavigateUrlFields="ImageUrl" HeaderText="Test" />