Использование HyperLinkField в TemplateField в GridView - PullRequest
0 голосов
/ 20 февраля 2019

Я пытаюсь использовать asp: HyperLinkField внутри TemplateField в GridView, но ASP не распознает HyperLinkField, когда он используется внутри TemplateField.Это только кажется, что распознает asp: HyperLink.Я устанавливаю условие, которое отображает «NA» без гиперссылки, если база данных возвращает пустое значение «», иначе должно отображаться HyperLink.Вот код:

                        <asp:TemplateField HeaderText="My Header">
                        <ItemTemplate>
                            <asp:HyperLinkField runat="server" DataTextField="Contracts"  datanavigateurlfields="Contracts" DataNavigateUrlFormatString='<%# Convert.ToString(Eval("Contracts")) == "" ? "NA" : "http://{0}" %>'></asp:HyperLinkField>
                        </ItemTemplate>
                    </asp:TemplateField>

Я пробовал это, используя вместо этого HyperLink, и он работает, но фактически не возвращает данные из базы данных, он фактически возвращает текст "http://{0}" в моем столбце.Я предполагаю, что, поскольку я использую «Текст» вместо «NavigateUrl», но при использовании последнего данные вообще не отображаются .:

<asp:TemplateField HeaderText="My Header">
                        <ItemTemplate>
                            <asp:HyperLink runat="server" DataTextField="Contracts"  datanavigateurlfields="Contracts" Text='<%# Convert.ToString(Eval("Contracts")) == "" ? "NA" : "http://{0}" %>'></asp:HyperLink>
                        </ItemTemplate>
                    </asp:TemplateField>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...