.NET gridview buttonField设置链接url

时间:2014-11-10 17:50:26

标签: .net buttonfield

我有一个正确从数据库获取数据的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>

1 个答案:

答案 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"  />