using System.IO; using System.Web.Mvc; //use En2FaViewResult as return type for actions //Examlpe : //public En2FaViewResult Index() { // ... // return View(); //} public class En2FaViewResult : ViewResult { private readonly object model; public En2FaViewResult() { } public En2FaViewResult(object model) { this.model = model; } public override void ExecuteResult(ControllerContext context) { if (string.IsNullOrWhiteSpace(ViewName)) { ViewName = context.RouteData.Values["action"].ToString(); } ViewEngineResult result = FindView(context); context.Controller.ViewData.Model = model; ViewDataDictionary viewData = context.Controller.ViewData; TempDataDictionary tempData = context.Controller.TempData; var writer = new StringWriter(); ViewContext viewContext = new ViewContext(context, result.View, viewData, tempData, writer); result.View.Render(viewContext, writer); var html = writer.ToString(); html = En2Fa(html); context.HttpContext.Response.Write(html); } public string En2Fa(string str) { return str.Replace("0", "۰") .Replace("1", "۱") .Replace("2", "۲") .Replace("3", "۳") .Replace("4", "۴") .Replace("5", "۵") .Replace("6", "۶") .Replace("7", "۷") .Replace("8", "۸") .Replace("9", "۹"); } }