将查询值添加到 asp 链接按钮

本文关键字:asp 链接 按钮 添加 查询 | 更新日期: 2023-09-27 18:36:23

我这里有这个链接按钮。

<li><asp:LinkButton ID="MyPDF" OnClick="Download_Click" runat="server" Text="My PDF" NavigateUrl='<%# "./DownloadableProducts.aspx?filename=MyPDF" %>'></asp:LinkButton></li>

它不起作用,它说"找不到文件"。我知道这是查询字符串,因为当我手动放置文件的路径时,它就像一个魅力。

我也试过这个:

<li><asp:LinkButton ID="MyPDF" OnClick="Download_Click" runat="server" Text="My PDF" NavigateUrl='<%# "./DownloadableProducts.aspx?filename=" + Eval("ID") %>'></asp:LinkButton></li>

而且它不起作用:(

将查询值添加到 asp 链接按钮

<li>
  <asp:LinkButton ID="MyPDF" OnClick="Download_Click"
    runat="server" Text="My PDF"    
    NavigateUrl="~/DownloadableProducts.aspx?filename=MyPDF">
  </asp:LinkButton>
</li>

试试这个

<li><asp:LinkButton ID="MyPDF" OnClick="Download_Click" runat="server" Text="My PDF" NavigateUrl="./DownloadableProducts.aspx?filename="+'<%# Eval("ID") %>'></asp:LinkButton></li> 

将其更改为:

<asp:HyperLink ... NavigateUrl='<%# "DownloadableProducts.aspx?filename=" +  Eval("ID") %>' />

LinkButton 控件没有属性"NavigateUrl"。 此控件只能为您执行回发,如果您需要直接链接到另一个位置,请改用超链接。

用户 LinkButton 中的 CommandArgument 属性

<li><asp:LinkButton ID="MyPDF" runat="server" Text="My PDF" NavigateUrl='<%# GetUrl(Eval("Id")) %>'></asp:LinkButton></li>

然后在代码隐藏中添加如下内容:

protected string GetUrl(string id) { return ResolveUrl(string.Format("~/DownloadableProducts.aspx?filename={0}", id)); }
<li>
  <asp:LinkButton ID="MyPDF" OnClick="Download_Click" runat="server"
    Text="My PDF" NavigateUrl="DownloadableProducts.aspx?filename=<%#Eval("ID") %>" >   
  </asp:LinkButton>
</li>

这将起作用