【问题标题】:Send value of gridview row using hyperlink within it使用其中的超链接发送 gridview 行的值
【发布时间】:2009-10-29 19:13:15
【问题描述】:

我无法使用gridview 中的超链接将MachineID 的值发送到另一个页面。

<!-- <asp:TemplateField HeaderText="FailedFiles" 
                        SortExpression="NumFailedFilesOverSLA">
    <ItemTemplate>
        <asp:HyperLink ID="HyperLink1" runat="server"
                       Text='<%#Bind("NumFailedFilesOverSLA") %>'>
        </asp:HyperLink>
    </ItemTemplate>
</asp:TemplateField>

我试过放

 DataNavigateUrlFields="MachineID"
 DataNavigateUrlFormatString="GetFilesFailed.aspx?id={0}"

但不知道为什么这不起作用?

请建议... 谢谢

【问题讨论】:

    标签: c# asp.net gridview hyperlink


    【解决方案1】:
     <ItemTemplate>
     <asp:HyperLink ID="HyperLink1" runat="server" 
     NavigateUrl='<%# Eval("Inventory_ID", "/default.aspx?ID={0}") %>'
                        Text="Details"></asp:HyperLink>
      </ItemTemplate>
    

    这应该可以解决您的问题。这正是我使用它的方式。

    【讨论】:

      【解决方案2】:

      如果这不起作用,请检查您是否确实从数据库中获取了 MachineID 的值:

      <asp:HyperLink ID="HyperLink1" Text='<%# Bind("NumFailedFilesOverSLA") %>' 
          runat="server" DataNavigateUrlFields="MachineID" 
              DataNavigateUrlFormatString="GetFilesFailed.aspx?id={0}">
      </asp:HyperLink>
      

      【讨论】:

      • 看到 gridview 被 machineid 填充,这意味着我正在从 DB 中获取值
      • 您能否提供目标页面中的代码,您在其中检索参数值?
      • 字符串 strID = Request.QueryString["id"];
      【解决方案3】:

      首先,尝试将默认的gridview放到页面中,并附加到数据源中,这样可以测试是否有数据可以显示。

      如果您从后面的代码中分配数据源,请不要忘记在此之后调用 DataBind() 方法。

      【讨论】:

      • 数据正在显示...但问题是 DataNavigateUrlFormatString 不工作,而 NavigateUrl 工作......所以如果我使用 navigateurl 然后它导航到新页面但值没有传递...
      猜你喜欢
      • 2014-11-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-05-31
      • 1970-01-01
      • 2017-11-28
      • 2016-09-21
      相关资源
      最近更新 更多