我在我们的ASP.NET RadEditor项目中使用了Telerik (Q1 2009 SP1)。当编辑器呈现为具有静态id的页面上的硬编码对象时,它工作得很好。但是,当通过传入Id来扩展HtmlHelper以进行动态创建时,它似乎会将html呈现为标签的全部小写。HtmlHelper对象是不是天生就搞乱了这一点?属性看起来分别是大写和小写,但这似乎很奇怪。这是我预先准备的code....thanks!
<% 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();
}发布于 2009-04-14 19:08:49
目前,如果没有有效的带有ScriptManager的Page对象,就不能呈现RadEditor。我们(Telerik )计划在不久的将来增加对“独立”渲染的支持。将在博客文章中公布,敬请关注。
发布于 2009-04-09 20:58:13
问题是标签是一个服务器端控件。当你把它硬编码到你的页面中时,服务器端的标签就会被翻译成html。当您使用htmlhelper时,您正在输出html,并且它不会作为服务器端标记进行处理。
如果你想做一些动态的事情,你应该使用一个UserControl (.ascx文件),然后使用Html.RenderPartial方法。
https://stackoverflow.com/questions/735172
复制相似问题