首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过HtmlHelper动态创建RadEditor

通过HtmlHelper动态创建RadEditor
EN

Stack Overflow用户
提问于 2009-04-09 17:33:39
回答 2查看 1.4K关注 0票数 2

我在我们的ASP.NET RadEditor项目中使用了Telerik (Q1 2009 SP1)。当编辑器呈现为具有静态id的页面上的硬编码对象时,它工作得很好。但是,当通过传入Id来扩展HtmlHelper以进行动态创建时,它似乎会将html呈现为标签的全部小写。HtmlHelper对象是不是天生就搞乱了这一点?属性看起来分别是大写和小写,但这似乎很奇怪。这是我预先准备的code....thanks!

代码语言:javascript
复制
               <% if (placeholder.Type.ToLower() == "richtext") { %>
                    <%= Html.RadEditor("placeholder_" + placeholder.Name) %>
                <% } else { %>
                    <%= Html.TextBox("placeholder_" + placeholder.Name, null, new { @class = placeholder.Type }) %>
                <% } %>

帮助者看起来像这样...

代码语言:javascript
复制
   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();
    }
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2009-04-14 19:08:49

目前,如果没有有效的带有ScriptManager的Page对象,就不能呈现RadEditor。我们(Telerik )计划在不久的将来增加对“独立”渲染的支持。将在博客文章中公布,敬请关注。

票数 2
EN

Stack Overflow用户

发布于 2009-04-09 20:58:13

问题是标签是一个服务器端控件。当你把它硬编码到你的页面中时,服务器端的标签就会被翻译成html。当您使用htmlhelper时,您正在输出html,并且它不会作为服务器端标记进行处理。

如果你想做一些动态的事情,你应该使用一个UserControl (.ascx文件),然后使用Html.RenderPartial方法。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/735172

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档