C# 向asp链接按钮添加查询值

C# 向asp链接按钮添加查询值,c#,asp.net,linkbutton,C#,Asp.net,Linkbutton,我有这个链接按钮在这里 <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=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”。如果您需要直接链接到另一个位置,则可以使用HyperLink来为您回发邮件。

    试试这个

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

  • 在LinkButton中使用CommandArgument属性
    <li><asp:LinkButton ID="MyPDF" runat="server" Text="My PDF" NavigateUrl='<%# GetUrl(Eval("Id")) %>'></asp:LinkButton></li>
    

    这将起作用

    这不起作用…我的代码中是否使用了某些内容?很抱歉,我使用了错误的字符串,我已对其进行了更新。您可能希望将鼠标悬停在生成的链接上,并检查它生成的url。尝试过该操作后,它仍不起作用,我仍然收到相同的错误:(如果在字符串myFileName=(String)Request.QueryString[“filename”]之后放置断点,我将在代码隐藏中将其称为
    Request.QueryString[“filename”]
    行,您是否在myFileName变量中获得了正确的值?这会给我一个新的错误
    服务器标记的格式不正确。
    这刚刚将我的链接更改为静态文本….
    另外,这会带走我的onclick事件您不能同时使用onclick和NavigateUrl。当用户单击链接时,您可以通过serversi处理执行某些操作后,取消单击事件并重定向用户
    <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>