ASP.NETとVB.NETのファイルをダウンロードするサンプルです。
(確認環境:Microsoft Visual Studio Community 2019)
目次
| 目的 | ファイルをダウンロードする | 
| サンプル | ビュー(Index.vbhtml) | 
| コントローラ(Test1Controller.vb) | 
ファイルをダウンロードする


「ダウンロード」リンクをクリックすると、指定のファイルが指定の場所にダウンロードされます。
ビュー(Index.vbhtml)
ビューです。ファイルをダウンロードする画面です。
@Code
	Layout = Nothing
End Code
<!DOCTYPE html>
<html>
<head>
</head>
<body>
	<p>ダウンロードテスト</p>
	<p>@Html.ActionLink("ダウンロード", "FileDown", "Test1")</p>
</body>
</html>
10行目は、リンクです。1つめの引数はリンク名です。
2つめの引数はアクション名です。
3つめの引数はコントローラ名です。
HTMLでは、以下のように展開されます。

コントローラ(Test1Controller.vb)
| Public Sub DownloadFile(address As String, destinationFileName As String) | 
コントローラです。
Namespace Controllers
	Public Class Test1Controller
		Inherits Controller
		'初期の画面を表示
		Function Index() As ActionResult
			Return View()
		End Function
		'ファイルをダウンロードして画面を再表示
		Function FileDown() As ActionResult
			Dim ServerPath As String = "D:\Test1\test1.txt"
			Dim DownloadPath As String = "C:\work\ダウンロードテスト1.txt"
			My.Computer.Network.DownloadFile(ServerPath, DownloadPath)
			Return View("Index")
		End Function
	End Class
End Namespace
6~8行目は、初期表示時のダウンロードする画面を表示します。
11行目からは、ビューでクリックしたときに実行されます。
13行目は、サーバー側のパスとファイルです。
14行目は、ダウンロード後のパスとファイルです。
16行目は、DownloadFileメソッドでダウンロードを実行しています。
以下は、MicrosoftのNetwork.DownloadFileメソッドのリンクです。
https://docs.microsoft.com/ja-jp/dotnet/api/microsoft.visualbasic.devices.network.downloadfile?view=netframework-4.8
関連の記事
(ASP.NETとVB.NET) POSTで値を別画面に渡す
(ASP.NETとVB.NET) Web.configファイルの値を取得
(ASP.NETとVB.NET) ファイルをアップロードする
