گاهی اوقات نیاز هست که در حین اجرای یک Action ، کد HTMLیی استفاده شود و این کد می بایست از طریق فایلی موجود در برنامه توسط ViewEngine پارس شده و مورد استفاده قرار گیرد.برای مثال ، شما قصد دارید ، ایمیلی جهت بازیابی کلمه عبور ارسال نمایید و این ایمیل حاوی کد HTML می باشد .برای این منظور شما می توان با استفاده از ViewEngine های ASP.NET MVC این پروسه را براحتی محقق کرد . با استفاده از تابع زیر می توانید از این امکان بهره مند بشید :
دوره های شبکه، برنامه نویسی، مجازی سازی، امنیت، نفوذ و ... با برترین های ایران
public string ParseView(ControllerContext controllerContext, string viewPath, object viewModel,string masterName = null)
{
var viewEngine = ViewEngines.Engines.FindView(controllerContext, viewPath, masterName);
using (var sr = new StringWriter())
{
var viewContext = new ViewContext(controllerContext, viewEngine.View, new ViewDataDictionary(viewModel),
new TempDataDictionary(), sr);
viewEngine.View.Render(viewContext, sr);
viewEngine.ViewEngine.ReleaseView(controllerContext,viewEngine.View);
return sr.GetStringBuilder().ToString();
}
}
طریقه ی استفاده در اکشنی با نام Forgot
public class AccountController : Controller
{
public ActionResult Forgot()
{
var str = ParseView(ControllerContext,"~/Views/Shared/Recover.cshtml",null);
}
}