public static void SerializeTo <T>(this IGridDetailView <T> detailView, string key, IClientSideObjectWriter objectWriter) where T : class { if (detailView.ClientTemplate.HasValue()) { var json = new Dictionary <string, object>(); json["template"] = Regex.Replace(detailView.ClientTemplate, @"data-val-regex-pattern=\\""(.*?)\\""", (Match match) => { return(@"data-val-regex-pattern=\\""" + new JavaScriptSerializer().Serialize(match.Groups[1].Value).Trim('"') + @"\\"""); }) .Replace("%", "%25") .Replace("\\\\\\\"", "%5c%5c%22") .Replace("\\\"", "%5c%5c%22") .Replace("\"", "%22") .Replace("'", "%27") .Replace("\\'", "%27") .Replace("<", "%3c") .Replace(">", "%3e") .Replace("\\u003c", "%3c") .Replace("\\u003e", "%3e") .Replace("\\r", "%0d") .Replace("\r", "%0d") .Replace("\n", "%0A") .Replace("\\n", "%0A") .Replace("\t", "%09") .Replace("\\t", "%09"); objectWriter.AppendObject(key, json); } }
public GridDetailViewBuilder(IGridDetailView <T> detailView) { this.detailView = detailView; }