2010-07-26 72 views
0

我在我的MVC應用程序中創建了一個自定義的動作結果,根據用戶提供的配置生成一個CSV文件。無法下載動態創建的文件

但是,我現在的問題是,如果我創建像這樣的下載鏈接:

<a ID="lnkDownload" href="<%= Url.Action("DownloadFile", "Download", new { id = Model.Id, userId = Model.userId, startDate = "30/05/2010", endDate = "30/05/2005"}) %>">Download</a> 

它一切正常。問題是我現在在頁面上引入了兩個日期時間控制器,以便用戶可以設置開始日期和結束日期。所以我現在在日期加上從控制器到的URL是這樣的:

$('#lnkDownload').click(function() { 
    var startDate = $('#tbExtrateStartDate').val(); 
    var endDate = $('#tbExtrateEndDate').val(); 

    var link = $('#lnkDownload').attr('href') + "&startDate=" + startDate + "&endDate=" + endDate; 

    $.get(link, function() { 

    }); 
    return false; 
}); 

這給了我,「下載提示」沒有出現在所有的問題。我試圖找出原因,但還沒有真正找到任何解決辦法。

我該如何解決這個問題?

回答

2

下載不起作用的原因是因爲您將點擊處理程序附加到錨點,然後向操作發送AJAX請求$.get而不是無法正常工作的正常請求。

您可以保留點擊處理程序但不發送AJAX請求,只需更新錨點的href即可。

+1

很酷。工作得很好。現在通過jquery完成了很多請求,所以幾乎忘了我不必一直這麼做。 – MrW 2010-07-26 11:02:39