2012-04-26 103 views
2

我嘗試使用ActionLink的展現在我的MVC應用程序的視圖可下載鏈接:如何顯示可下載鏈接

<div> 
<%= Html.ActionLink("Test","Download","Admin") %> 
</div> 

public ActionResult Download() 
{ 
    var cd = new System.Net.Mime.ContentDisposition 
    {   
     FileName = "Download Me", 
     Inline = false, 
    }; 
    Response.AppendHeader("Content-Disposition", cd.ToString()); 
    byte[] csvBytes = Encoding.ASCII.GetBytes("hello"); 
    return File(csvBytes, "csv","DownloadMe.csv"); 
} 

的鏈接顯示了在用戶界面上,但是當我點擊它,我得到一個「端點未找到「錯誤。 我是MVC的新手,第一次嘗試這個。有人可以請幫助。

+1

是您的名爲'Admin'的控制器中的'Download'方法嗎?什麼是確切的錯誤信息?你使用哪個瀏覽器? – nemesv 2012-04-26 16:27:22

+0

是和是。我正在使用FF。錯誤:未找到端點。請參閱服務幫助頁面以構建對服務的有效請求。 – dotNetNewbie 2012-04-26 16:36:37

回答

1

我覺得你有與控制器方法的幾個問題:

public FileResult Download() 
{ 
    byte[] csvBytes = Encoding.ASCII.GetBytes("hello"); 
    return File(csvBytes, "text/csv","DownloadMe.csv"); 
} 
  1. 你想返回一個FileResult,不是ActionResult
  2. mime類型是text/csv而不僅僅是csv
  3. 我不認爲內容處置是必需的,但我會拿出來,直到你得到它的工作,如果有必要,然後將其添加回來。
+0

我用上面的控制器。但是,得到相同的錯誤消息「未找到端點,請參閱服務幫助頁面以構建對服務的有效請求。」 – dotNetNewbie 2012-04-26 16:40:15

+0

聽起來像你可能會遇到一些路由問題。你能直接在瀏覽器中輸入URL嗎? – mgnoonan 2012-04-26 16:42:08

+0

是的。當我在瀏覽器上直接輸入URL時,它完美地工作 – dotNetNewbie 2012-04-26 16:44:05