【问题标题】:Handle exception when using hyperlink for downloading a file in asp.net在 asp.net 中使用超链接下载文件时处理异常
【发布时间】:2013-11-16 09:31:55
【问题描述】:

我在我的网格中使用了一个超链接,我正在下载存储在我的应用程序文件夹中的文件。当文件存在于文件夹中时它工作正常,但如果测试我删除文件然后尝试下载我收到错误The resource cannot be found. 并且我的页面崩溃。如何处理这个找不到文件的异常?我也在我的 PageLoad 上应用了调试点,但调试没有出现。

这是我的 aspx 代码

<asp:TemplateField HeaderText="DOWNLOAD">
                    <ItemTemplate>
                        <asp:HyperLink ID="HyperLink1" runat="server" Target="_blank" NavigateUrl='<%# Eval("PATH") %>' >Download</asp:HyperLink>
                    </ItemTemplate>
                    <HeaderStyle BorderWidth="1px" BorderStyle="Dotted" BorderColor="#DDDDDD" Font-Size="14px"
                        ForeColor="#333333" Font-Names="Calibri" />

                    <ItemStyle HorizontalAlign="Center" Width="5%" BorderWidth="0px" ForeColor="#333333"
                        Font-Names="Calibri" Font-Size="14px"></ItemStyle>

                </asp:TemplateField>

【问题讨论】:

    标签: c# asp.net exception hyperlink filenotfoundexception


    【解决方案1】:

    你可以试试这个

    虽然没有必要将 ClientIDMode 设置为 Static。

    <asp:HyperLink ID="HyperLink1" ClientIDMode="Static" runat="server" NavigateUrl='<%# Eval("PATH") %>' Target="_blank" >Download</asp:HyperLink>
    

    检查页面加载(在 Bowser 上)是否存在文件:

        jQuery(document).ready(function () {
            var url = jQuery("#HyperLink1").prop('href');
            jQuery.get(url).done(function () {
                // File exists so do nothing
            }).fail(function () { // doesn't exist so reset parameters accordingly
                jQuery("#HyperLink1").prop('href', 'javascript:void(0)');
                jQuery("#HyperLink1").attr('target', '_self');
            })
        });
    

    把这个标签放在head部分,这将引用谷歌托管的jquery库

    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"
        type="text/javascript"></script>
    

    【讨论】:

    • 我应该使用哪个版本的 .js 文件?
    • 没有检查在 aspx 文件中使用 jquery,将此方法放在 head 部分并确保添加对 Jquery 的引用。使用任何最新的 jquery 版本。您还可以引用由 google 托管的或在您的计算机上下载的....检查更新
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-12-18
    • 2010-11-01
    • 2017-01-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多