Я предполагаю, что это фрагменты HTML, а не полные страницы. Вы можете преобразовать их в частичные представления - довольно тривиально, вы просто добавляете правильную директиву страницы и переименовываете в .ascx. Тогда вы бы использовали Html.RenderPartial, чтобы включить частичное в ваш основной вид. Другой способ - создать собственное расширение HtmlHelper, которое работает как RenderPartial, но просто читает именованный файл и записывает его в ответ так же, как вы это делаете в настоящее время.
Ex1:
<% Html.RenderPartial( "welcome.ascx" ); %>
Ex2:
<% Html.RenderHtml( Server.MapPath( "newletters/welcome.html" ) ); %>
Обратите внимание, что в первом случае файл представления должен находиться в каталоге Views. Во втором случае вы можете ссылаться на файл из любого места, где рабочий процесс имеет доступ для чтения. Вам нужно будет создать второй метод самостоятельно. Возможно, что-то похожее на:
public static class MyHtmlHelperExtensions
{
public static void RenderHtml( this HtmlHelper helper, string path )
{
var reader = new StreamReader( path );
var contents = reader.ReadToEnd();
helper.ViewContext.HttpContext.Response.Write( contents );
}
}
Обратите внимание, что вам придется добавить обработку ошибок.