2

ASP.NET MVC(RTM)プロジェクトでTelerik RadEditor(Q1 2009 SP1)を使用しています。静的IDを使用してページ上にハードコードされたオブジェクトとしてレンダリングすると、エディターはうまく機能します。ただし、HtmlHelperを使用して拡張し、IDを渡して動的に作成すると、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();
    }
4

2 に答える 2

2

当面は、ScriptManagerで有効なPageオブジェクトがないとRadEditorをレンダリングできません。私たち(つまりTelerik)は、近い将来、「スタンドアロン」レンダリングのサポートを追加する予定です。ブログ投稿で発表する必要がありますので、ご期待ください。

于 2009-04-14T19:08:49.137 に答える
1

問題は、タグがサーバー側のコントロールであるということです。ページにハードコードして配置すると、サーバー側のタグがhtmlに変換されます。htmlhelperを使用している場合は、htmlを出力しているため、サーバー側のタグとして処理されません。

動的な処理を行う場合は、UserControl(.ascxファイル)を使用してから、Html.RenderPartialメソッドを使用する必要があります。

于 2009-04-09T20:58:13.203 に答える