Динамическое создание RadEditor через HtmlHelper

Я использую Telerik RadEditor (Q1 2009 SP1) в нашем проекте ASP.NET MVC (RTM). Редактор отлично работает, когда отображается как жестко запрограммированный объект на странице со статическим идентификатором. Но при расширении с помощью HtmlHelper для динамического создания путем передачи идентификатора кажется, что html отображается как все строчные буквы для тега. Случайно ли объект HtmlHelper связывается с этим? Атрибуты выглядят прописными и строчными соответственно, но это кажется странным. Вот мой код.... заранее спасибо!

               <% if (placeholder.Type.ToLower() == "richtext") { %>
                    <%= Html.RadEditor("placeholder_" + placeholder.Name) %>
                <% } else { %>
                    <%= Html.TextBox("placeholder_" + placeholder.Name, null, new { @class = placeholder.Type }) %>
                <% } %>

Помощник выглядит так....

   public static string RadEditor(this HtmlHelper html, string Id)
    {
        var sb = new StringBuilder();

        sb.Append("<telerik:RadEditor ID='" + Id + "' Runat='server' DialogHandlerUrl='~/Telerik.Web.UI.DialogHandler.axd'>");
        sb.Append("<Content>");
        sb.Append("</Content>");
        sb.Append("</telerik:RadEditor>");

        return sb.ToString();
    }

person dodegaard    schedule 09.04.2009    source источник
comment
firebug отображает это следующим образом.... обратите внимание, что тег telerik:radeditor написан строчными буквами по сравнению с вспомогательным тегом ‹/телерик:радиатор›   -  person dodegaard    schedule 09.04.2009


Ответы (2)


В настоящее время вы не можете визуализировать RadEditor без действительного объекта Page с ScriptManager. Мы (то есть Telerik) планируем добавить поддержку «автономного» рендеринга в ближайшем будущем. Должно быть объявлено в блоге, так что следите за обновлениями.

person Atanas Korchev    schedule 14.04.2009
comment
благодаря. Я нашел обходной путь, используя iFrame, который я опубликую здесь и на сайте телерика, чтобы другие могли использовать его. Я думаю, что htmlHelpers поможет всем использовать эти замечательные элементы управления в MVC. - person dodegaard; 16.04.2009

Проблема в том, что тег является элементом управления на стороне сервера. Когда вы размещаете его жестко запрограммированным на своей странице, тег на стороне сервера преобразуется в html. Когда вы используете htmlhelper, вы выводите html, и он не обрабатывается как тег на стороне сервера.

Если вы хотите сделать что-то динамичное, вы должны использовать UserControl (файл .ascx), а затем использовать метод Html.RenderPartial.

person ajma    schedule 09.04.2009