Динамическое создание RadEditor через HtmlHelper - PullRequest
2 голосов
/ 09 апреля 2009

Я использую 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();
    }

Ответы [ 2 ]

2 голосов
/ 14 апреля 2009

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

1 голос
/ 10 апреля 2009

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...