.NET gridview buttonField установка ссылки URL

У меня есть 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 ответ

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"  />
Другие вопросы по тегам