2009-04-09 16 views
2

ASP.NET MVC(RTM)プロジェクトでTelerik RadEditor(Q1 2009 SP1)を使用しています。エディタは、静的IDを持つページ上にハードコードされたオブジェクトとしてレンダリングされたときに効果的です。しかし、Idを渡すことで動的な作成を行うためにHtmlHelperを使って拡張すると、htmlをタグのすべての小文字としてレンダリングするようです。 HtmlHelperオブジェクトはこれをうまく混乱させますか?属性はそれぞれ大文字と小文字に見えますが、これは奇妙に見えます。ここに私のコードです....事前に感謝!HtmlHelperによる動的RadEditorの作成

   <% 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(); 
    } 
+0

次のように放火犯がどのようにtelerik注意....それをレンダリング:radeditor ID = "placeholder_MainContent" dialoghandlerurl = "〜/ Telerik.Web.UI.DialogHandler.axd:radeditorタグはヘルパー dodegaard

答えて

2

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

+0

ありがとうございます。私はここに投稿するiFrameと他のユーザーが使うためのtelerikのサイトを使って回避策を達成しました。私は、htmlHelpersがMVCの素晴らしいコントロールを使用するのに役立つと思います。 – dodegaard

1

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

ダイナミックな操作を行う場合は、UserControl(.ascxファイル)を使用し、Html.RenderPartialメソッドを使用する必要があります。