I was asked for RadEditor MVC helper, so here it goes (copy paste code out) :
public static MvcHtmlString RadEditorFor<TModel, TProperty>(this HtmlHelper<TModel> htmlHelper, Expression<Func<TModel, TProperty>> expression) where TModel : class
{
return RadEditorFor(htmlHelper, expression, ((IDictionary<string, object>)null));
}
public static MvcHtmlString RadEditorFor<TModel, TProperty>(this HtmlHelper<TModel> htmlHelper, Expression<Func<TModel, TProperty>> expression, object htmlAttributes) where TModel : class
{
return RadEditorFor(htmlHelper, expression, new RouteValueDictionary(htmlAttributes));
}
public static MvcHtmlString RadEditorFor<TModel, TProperty>(this HtmlHelper<TModel> htmlHelper, Expression<Func<TModel, TProperty>> expression, IDictionary<string, object> htmlAttributes) where TModel : class
{
string name = htmlHelper.ViewContext.ViewData.TemplateInfo.GetFullHtmlFieldName(ExpressionHelper.GetExpressionText((LambdaExpression)expression));
TProperty value = ExpressionHelper2.GetValue(htmlHelper, expression);
return RadEditor(htmlHelper, name, value, htmlAttributes);
}
public static MvcHtmlString RadEditor(this HtmlHelper htmlHelper, string name)
{
return RadEditor(htmlHelper, name, null);
}
public static MvcHtmlString RadEditor(this HtmlHelper htmlHelper, string name, object value)
{
return RadEditor(htmlHelper, name, null, ((IDictionary<string, object>)null));
}
public static MvcHtmlString RadEditor(this HtmlHelper htmlHelper, string name, object value, object htmlAttributes)
{
return RadEditor(htmlHelper, name, value, new RouteValueDictionary(htmlAttributes));
}
public static MvcHtmlString RadEditor(this HtmlHelper htmlHelper, string name, object value, IDictionary<string, object> htmlAttributes)
{
if (String.IsNullOrEmpty(name))
{
name = htmlHelper.ViewContext.ViewData.TemplateInfo.GetFullHtmlFieldName(name);
if (string.IsNullOrEmpty(name))
{
throw new ArgumentException("name");
}
}
if (htmlAttributes == null) htmlAttributes = new Dictionary<string, object>();
Page page = new Page();
RadMvcScriptManager mvcScriptManager = new RadMvcScriptManager();
mvcScriptManager.EnableViewState = false;
page.Controls.Add(mvcScriptManager);
RadStyleSheetManager radStyleSheetManager = new RadStyleSheetManager();
page.Controls.Add(radStyleSheetManager);
//string id = name.Replace(".", "_");
RadEditor radEditor = new RadEditor();
radEditor.ID = name + "_radeditor";
radEditor.ClientIDMode = ClientIDMode.Static;
radEditor.ImageManager.ContentProviderTypeName = typeof(AzureStorageFileBrowserContentProvider).AssemblyQualifiedName;
radEditor.ImageManager.MaxUploadFileSize = 3000000;
radEditor.ImageManager.ViewPaths = new string[] { "uploaded/images" };
radEditor.ImageManager.UploadPaths = new string[] { "uploaded/images" };
radEditor.ImageManager.DeletePaths = new string[] { "uploaded/images" };
radEditor.DocumentManager.ContentProviderTypeName = typeof(AzureStorageFileBrowserContentProvider).AssemblyQualifiedName;
radEditor.DocumentManager.MaxUploadFileSize = 20000000;
radEditor.DocumentManager.ViewPaths = new string[] { "uploaded/documents" };
radEditor.DocumentManager.UploadPaths = new string[] { "uploaded/documents" };
radEditor.DocumentManager.DeletePaths = new string[] { "uploaded/documents" };
radEditor.MediaManager.ContentProviderTypeName = typeof(AzureStorageFileBrowserContentProvider).AssemblyQualifiedName;
radEditor.MediaManager.MaxUploadFileSize = 50000000;
radEditor.MediaManager.ViewPaths = new string[] { "uploaded/media" };
radEditor.MediaManager.UploadPaths = new string[] { "uploaded/media" };
radEditor.MediaManager.DeletePaths = new string[] { "uploaded/media" };
radEditor.FlashManager.ContentProviderTypeName = typeof(AzureStorageFileBrowserContentProvider).AssemblyQualifiedName;
radEditor.FlashManager.MaxUploadFileSize = 50000000;
radEditor.FlashManager.ViewPaths = new string[] { "uploaded/flash" };
radEditor.FlashManager.UploadPaths = new string[] { "uploaded/flash" };
radEditor.FlashManager.DeletePaths = new string[] { "uploaded/flash" };
//radEditor.TemplateManager.ContentProviderTypeName = typeof(AzureStorageFileBrowserContentProvider).AssemblyQualifiedName;
radEditor.TemplateManager.MaxUploadFileSize = 500000;
radEditor.TemplateManager.ViewPaths = new string[] { "~/content/templates" };
radEditor.NewLineBr = false;
radEditor.Skin = "Vista";
//radEditor.ToolsFile = "~/Content/administracija/EditorToolbar.xml";
if (htmlAttributes.ContainsKey("ToolsFile")) radEditor.ToolsFile = htmlAttributes["ToolsFile"] as string;
UIHintControlParameterDataAnnotationsModelMetadata mmd = (UIHintControlParameterDataAnnotationsModelMetadata)htmlHelper.ViewData.ModelMetadata;
if (mmd.TemplateControlParameterExist("ToolBar"))
{
radEditor.ToolsFile = mmd.GetTemplateControlParameter<string>("ToolBar");
}
if (mmd.TemplateControlParameterExist("DisableHtmlFormating") && mmd.GetTemplateControlParameter<bool>("DisableHtmlFormating"))
{
radEditor.StripFormattingOptions = EditorStripFormattingOptions.None;
radEditor.DisableFilter(Telerik.Web.UI.EditorFilters.ConvertToXhtml);
}
if (value != null) radEditor.Content = value as string;
radEditor.DialogHandlerUrl = "/Telerik.Web.UI.DialogHandler.axd";
page.Controls.Add(radEditor);
StringWriter output = new StringWriter();
HttpContext.Current.Server.Execute(page, output, false);
return MvcHtmlString.Create(htmlHelper.Hidden("", "ToBeReplaced").ToString() + output.ToString());
}
0bcddedb-0107-449b-9885-ad99fedc8752|20|5.0