2010-04-26 6 views
2

У меня есть GridView с полем шаблона, который имеет гиперссылкой:Построить гиперссылкой в ​​GridView в WebForms ASP.NET - Eval не работает

<asp:TemplateField ItemStyle-Width="12%" HeaderText="VER" HeaderStyle-HorizontalAlign="Center" SortExpression="Ver" ItemStyle-HorizontalAlign="Center"> 
    <ItemTemplate> 
     <asp:HyperLink ID="HyperLink1" NavigateUrl="~/Admin/Teste/Teste.aspx?rac=<%#Eval('idApontamento')%>" runat="server">TEXT</asp:HyperLink> 
    </ItemTemplate> 
</asp:TemplateField> 

я получаю в гиперссылке линии The server tag is not well formed..

Что мне делать, чтобы напрямую создать запрос в HyperLink?

ответ

9

Создайте свой гиперссылкой так:

<asp:HyperLinkField HeaderText="Title" 
    DataTextField="Some Text" 
    DataNavigateUrlFields="idApontamento,CustomerID" 
    DataNavigateUrlFormatString="~/Admin/Teste/Teste.aspx?rac={0}&CustomerID={1}" /> 

Продолжайте добавлять разделители запятые значения в DataNavigateUrlFields собственности, и наценки DataNavigateUrlFormatString как вы string.Format()

+0

И теперь. Как добавить дополнительные поля в строку запроса? – Marcelo

+0

@MarceloRamires: Теперь я обновил ответ о нескольких полях. –

0

У вас есть дополнительные двойные кавычки после фунт (#). Помогает ли удаление?

3

Я не думаю, что вы можете вставлять такое выражение, вы должны выбрать, чтобы дать ему весь текст или все обязательные выражения.

К счастью, вы можете сопоставить строку в выражении привязки. Попробуйте что-то вроде этого:

NavigateURL = '<% # String.Concat ("~/Admin/Teste/Teste.aspx рац =?", Eval ("idApontamento"))%>'

+0

NavigateUrl = '<% # String.Concat ("~/Admin/Teste/Teste.aspx? Rac =", Eval ("idApontamento"))%>' вам не хватает a). – ggonsalv

+0

получил, спасибо. – MStodd

Смежные вопросы