Если бы это был я, я бы сохранил информацию в базе данных. Это намного проще, и, с моей точки зрения, не имеет большого значения, используется ли дисковое пространство на сервере базы данных или веб-сервере. Если, с другой стороны, файлы относительно статичны - то есть, много операций чтения, но только несколько операций записи и , они являются общими для всех пользователей (файлы сайта, а не файлы для каждого пользователя), тогда вы можете рассмотреть положить их в каталог содержимого. Я часто создаю подкаталог в Content с именем static для таких файлов, хотя обычно я не предоставляю способ их редактирования с сайта (редактируемый контент помещается в БД). Таким образом, вы можете построить путь к ним.
Что бы это ни стоило, вам, вероятно, следует просто открыть путь и прочитать их, а не использовать WebClient.
string url = Url.Content( "~/content/newsletters/test.html" );
string path = Server.MapPath( url );
StreamReader sr = new StreamReader(path);
string htmlData_ = sr.ReadToEnd();
Примечание. Возможно, вам придется создать UrlHelper, я не думаю, что это свойство на контроллере.