c# - 在 ASP.Net C# 中的 CKEditor 中粘贴图像
问题描述
我在我的项目 ASP NET C# 上使用CKEditor插件
在我的代码中使用CKEditortxsezi
还可以通过使用复制/粘贴在文本框图像上插入来修改 gridview 的行。
图像复制/粘贴工作正常。
问题是当我在文本编辑器txsezi
上复制图像并粘贴时gridview
,并保存我在标签lbsezi
中返回的行gridview
我的问题在这里......在这种情况下,标签中的返回lbsezi
是正确的
<asp:Label ID="lbsezi" runat="server"
Text='<%# HttpUtility.HtmlDecode(Eval("contents").ToString()) %>'></asp:Label>
相反,如果使用SpliceText
for 打破字符串
<asp:Label ID="lbsezi" runat="server"
Text='<%# HttpUtility.HtmlDecode(SpliceText(Eval("contents").ToString(),10)) %>'></asp:Label>
标签里的returnlbsezi
是错误的...
但是我需要断开字符串以防止它太长...
如何解决这个问题?
我的代码如下
.aspx
<script src="Scripts/ckeditor/ckeditor.js"></script>
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="false" OnRowEditing="OnRowEditing">
<Columns>
<asp:BoundField DataField="Name" HeaderText="Name" ItemStyle-Width="150" />
<asp:BoundField DataField="Country" HeaderText="Country" ItemStyle-Width="150" />
<asp:TemplateField HeaderText="Text"
ItemStyle-HorizontalAlign="Left">
<ItemTemplate>
<asp:Label ID="lbsezi" runat="server"
Text='<%# HttpUtility.HtmlDecode(Eval("contents").ToString()) %>'></asp:Label>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox ID="txsezi" runat="server" TextMode="MultiLine"
Text='<%# HttpUtility.HtmlDecode(Eval("contents").ToString()) %>'
CssClass="ckeditor" CausesValidation="true"></asp:TextBox>
</EditItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<ItemTemplate>
<asp:LinkButton Text="Edit" runat="server" CommandName="Edit" />
</ItemTemplate>
<EditItemTemplate>
<asp:LinkButton Text="Update" runat="server" OnClick="OnUpdate" />
<asp:LinkButton Text="Cancel" runat="server" OnClick="OnCancel" />
</EditItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
。CS
protected void Page_Load(object sender, EventArgs e)
{
if (!this.IsPostBack)
{
BindGrid();
}
}
private void BindGrid()
{
DataTable dt = new DataTable();
dt.Columns.AddRange(new DataColumn[]
{
new DataColumn("Id"),
new DataColumn("Name"),
new DataColumn("Country"),
new DataColumn("contents")
});
dt.Rows.Add(1, "John Hammond", "United States", "<p><span style='text-align:'>Text row1</span></p><p> </p><p><img alt='1' src='data:image/png;base64,... />");
GridView1.DataSource = dt;
GridView1.DataBind();
}
protected void OnRowEditing(object sender, GridViewEditEventArgs e)
{
GridView1.EditIndex = e.NewEditIndex;
this.BindGrid();
}
protected void OnUpdate(object sender, EventArgs e)
{
GridViewRow row = (sender as LinkButton).NamingContainer as GridViewRow;
GridView1.EditIndex = -1;
this.BindGrid();
}
protected void OnCancel(object sender, EventArgs e)
{
GridView1.EditIndex = -1;
this.BindGrid();
}
public static string SpliceText(string text, int lineLength)
{
var charCount = 0;
var lines = text.Split(new string[] { " " }, StringSplitOptions.RemoveEmptyEntries)
.GroupBy(w => (charCount += w.Length + 1) / lineLength)
.Select(g => string.Join(" ", g));
return String.Join("<br />", lines.ToArray());
}
解决方案
推荐阅读
- python - 如何比较两个 Pandas DataFrame 并显示 DataFrame 2 中的差异
- bash - 使用 sed 删除日志中的日期
- solr - Solr云集群可以做增量备份吗?
- magento2 - 如何在销售订单网格上使用批量操作显示弹出窗口 - Magento 2.2.4
- python - 更改 matplotlib 动画中点的颜色
- python - GoogleCloudStorageToBigQueryOperator source_objects 通过 XCom 接收列表
- java - 创建对象时的 Mockito 来自其他类的私有方法
- sap - 在java中过滤JCoTable
- xamarin - Xamarin UITest:正在安装 DeviceAgent,但未运行 .APP 和测试
- c++11 - 无法在结构中返回指针数组