Создание гиперссылки в GridView в веб-формах ASP.NET - Eval не работает - PullRequest
2 голосов
/ 26 апреля 2010

У меня есть вид сетки с полем шаблона, который имеет гиперссылку:

<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.

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

Ответы [ 3 ]

9 голосов
/ 26 апреля 2010

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

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

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

3 голосов
/ 26 апреля 2010

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

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

NavigateUrl = '<% # String.Concat ("~ / Admin / Teste / Teste.aspx? Rac =", Eval ("idApontamento"))%>'

0 голосов
/ 26 апреля 2010

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...