我这里有这个链接按钮。
<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>
而且它不起作用:(
<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>
这将起作用