【问题标题】:Build a HyperLink in a GridView in ASP.NET webforms - Eval not working在 ASP.NET 网络表单的 GridView 中构建超链接 - 评估不起作用
【发布时间】:2011-02-12 13:00:25
【问题描述】:

我有一个带有超链接的模板字段的网格视图:

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

我在 HyperLink 行中收到 The server tag is not well formed.

我应该怎么做才能直接在 HyperLink 中构建查询字符串?

【问题讨论】:

    标签: asp.net gridview webforms


    【解决方案1】:

    像这样构建你的超链接:

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

    继续向DataNavigateUrlFields 属性添加逗号分隔值,并像string.Format() 一样标记DataNavigateUrlFormatString

    【讨论】:

    • 现在..如何向查询字符串添加更多字段?
    • @MarceloRamires:我已经更新了关于多个字段的答案。
    【解决方案2】:

    我认为你不能嵌入这样的表达式,你必须选择给它所有文本,或者所有绑定表达式。

    幸运的是,您可以在绑定表达式中污染字符串。试试这样的:

    NavigateUrl=''

    【讨论】:

    • NavigateUrl='' 你错过了一个)。
    【解决方案3】:

    您在井号 (#) 符号后多了一个双引号。删除它有帮助吗?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-12-31
      • 2013-01-28
      • 2010-10-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多