在TemplateField里面怎么使用CKEditor啊?

neoxmu 2012-03-07 09:41:08
在GridView的TemplateField里面怎么使用CKEditor啊?用最简单的 CKEDITOR.replace('TextBox1'); 行不通啊,变成编辑状态之后还是很普通的textbox

<asp:TemplateField HeaderText="营销成果">
<EditItemTemplate>
<asp:TextBox ID="TextBox_result" runat="server" Height="69px" Style="border-top-style: none;
border-right-style: none; border-left-style: none; border-bottom-style: none"
Text='<%# Bind("Results") %>' TextMode="MultiLine" Width="150px"></asp:TextBox>
<script type="text/javascript">CKEDITOR.replace('TextBox_result');</script>
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="Label_results" runat="server" Text='<%# Bind("Results") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>


...全文
138 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
MICROSOFT5566 2012-06-16
  • 打赏
  • 举报
回复
((CKEditor.NET.CKEditorControl)e.Item.FindControl("CKEditor1")).Text;这样就可以,因为ckeditor为一个命名空间,
neoxmu 2012-04-09
  • 打赏
  • 举报
回复
把ckeditor.dll添加引用之后,增加到左边工具栏,使它能够像其他控件一样拖拽后 直接这样引用就OK了
 <InsertItemTemplate>
<div class="editor">
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
</div>
</InsertItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="CourseName">
<EditItemTemplate>
<div class="editor">
<CKEditor:CKEditorControl ID="CKEditor1" runat="server" Text='<%# Bind("Body") %>' Height="500">
</CKEditor:CKEditorControl>
</div>
</EditItemTemplate>
<EditItemTemplate>
<asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
<div class="editor">
<CKEditor:CKEditorControl ID="CKEditor1" runat="server"
Text='<%# Bind("Body") %>' Height="500">
</CKEditor:CKEditorControl>
</div>

</EditItemTemplate>
<InsertItemTemplate>
孟子E章 2012-03-08
  • 打赏
  • 举报
回复
TextBox_result.ClientID
就是那个TextBox在客户端的id
neoxmu 2012-03-07
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 net_lover 的回复:]
你可以这样的
<asp:TemplateField HeaderText="营销成果">
<EditItemTemplate>
<asp:TextBox ID="TextBox_result" runat="server" Height="69px" Style="border-top-style: none;
border-right-style: none; border-……
[/Quote]
那我要修改的TextBox_result里面的Text怎么赋值呢?这个TextBox_result.ClientID是代表我写在TextBox_result里面的东西么?
孟子E章 2012-03-07
  • 打赏
  • 举报
回复
你可以这样的
<asp:TemplateField HeaderText="营销成果">
<EditItemTemplate>
<asp:TextBox ID="TextBox_result" runat="server" Height="69px" Style="border-top-style: none;
border-right-style: none; border-left-style: none; border-bottom-style: none"
Text='<%# Bind("Results") %>' TextMode="MultiLine" Width="150px"></asp:TextBox>
<asp:Literal id=xx runat=server>
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="Label_results" runat="server" Text='<%# Bind("Results") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>

在后台FindControl找到 TextBox_result,然后设置xx.Text = "<script type='text/javascript'>CKEDITOR.replace('" + TextBox_result.ClientID + "');</script>";
随风 2012-03-07
  • 打赏
  • 举报
回复
或许你该使用弹窗显示编辑器的方案。

62,267

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧