2016-09-04 11 views
1

asp.net mvcアプリケーションで電子メールを送信しています。いくつかのhtmlテンプレートをフォルダに配置したいと思います。asp.net mvcの文字列にファイルをロードする方法

テンプレートファイルをモデルの下のフォルダに配置すると、 Models\EmailTemplates\MyTemplate.htmlこのファイルを文字列に読み込むにはどうすればよいですか(後ほどメール本文として使用されます)。 System.IO.File.ReadAllTextを使用したいと思います。ファイルの場所をどのように参照するのですか?

答えて

2
string path = "~/Models/EmailTemplates/MyTemplate.html"; 
string html = System.IO.File.ReadAllText(System.Web.HttpContext.Current.Server.MapPath(path)); 

使用Server.MapPathの

+0

は 'Server.MapPath'は、それ自体で動作します。しかし、VS 2015はHttpContext.Currentを解決できませんでした(コントローラアクション内から呼び出しています) – RaelB

+0

解決するためにHttpContextの前に名前空間を追加しました。今すぐチェック –

+0

はい、今動作します。 – RaelB

関連する問題