4
전자 메일 콘텐츠 용으로 만든 일부 서식 파일의 내용을 가져 오려면 System.IO.FIle.ReadAllText()를 사용하고 있습니다. 그런 다음 동적 콘텐츠를 템플릿에 추가 할 수 있도록 파일 내의 특정 토큰에서 바꾸기를 수행하려고합니다. 여기 IO.File.ReadAllText() 문자열에서 String.Replace()를 사용할 수없는 이유는 무엇입니까?
내가 %% LINK %% 및 %% NAME을 얻을 수없는 어떤 이유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)
%% 교체 ... 그냥 잘 작동해야처럼 나에게 것, 내가 가지고있는 코드입니다() 호출이 제대로 작동합니다. 인코딩 관련 사항인지 확인하여 각 파일을 UTF-8로 만들었습니다. 또한 ReadAllText (String, Encoding)의 강제 인코딩 오버로드를 사용했으며 여전히 주사위를 사용하지 않았습니다. 어떤 아이디어?
D' oh! 그건 내 바보 같았 어. 모두에게 감사드립니다. – sholsinger
많은 사람들이 Replace()를 비 정적 함수로 사용하는 것이 .NET 디자이너에게는 어리 석다는 것을 주장 할 것이므로 너무 기분이 나쁘지는 않습니다 .-) –
그래, 모든 .NET 개발자와 나는 정확하게 기억한다) 어떤 점에서 이것을 만났다. 심지어 문자열의 불변성을 완전히 알고 있습니다. 지옥, 나 * 여전히 * 때때로 반환 값을 사용하는 것을 잊지 마십시오. – JulianR