4
System.IO.FIle.ReadAllText()を使用して、電子メールコンテンツ用に作成したテンプレートファイルの内容を取得しています。次に、テンプレート内に動的なコンテンツを追加できるように、ファイル内の特定のトークンに対してReplaceを実行したいとします。ここでIO.File.ReadAllText()文字列でString.Replace()を実行できないのはなぜですか?
は、私が持っているコードが...それだけで正常に動作する必要がありますように、それは私には思える、私は%% LINK %%を得ることができないいくつかの理由
Dim confirmUrl As String = Request.ApplicationPath & "?v=" & reg.AuthKey
Dim text As String = IO.File.ReadAllText(_
ConfigurationManager.AppSettings("sign_up_confirm_email_text").Replace("~", _
Request.PhysicalApplicationPath))
Dim html As String = IO.File.ReadAllText(_
ConfigurationManager.AppSettings("sign_up_confirm_email_html").Replace("~", _
Request.PhysicalApplicationPath))
text.Replace("%%LINK%%", confirmUrl)
text.Replace("%%NAME%%", person.fname)
html.Replace("%%LINK%%", confirmUrl)
html.Replace("%%NAME%%", person.fname)
と%% NAME %%置き換え()呼び出しが正しく動作するようにします。私はそれがエンコーディング関連であるかどうかを調べたので、各ファイルをUTF-8にしました。また、ReadAllText(String、Encoding)の強制的なエンコードオーバーロードを使用し、ダイスも使用しませんでした。何か案は?
D'oh!それは私の愚かだった。みんな、ありがとう。 – sholsinger
多くの人が、Replace()を静的でない関数にすることは.NETデザイナーには馬鹿だと主張しているので、あまり気にしないでください;-) –
すべての.NET開発者(とJava私は正しく思い出しました)は、いつかこれに遭遇しました。文字列の不変性を完全に知っている。地獄、私はまだ*戻り値を使用することを忘れています。 – JulianR