1

我有一个div和一个 html 编辑器并试图:

  1. 将 div 内部 html 添加到编辑器。(完成)
  2. 然后在编辑器中所做的任何更改都会保存回 div 中。

这是回码:

protected void Page_Load(object sender, EventArgs e) 
{
    Editor.Content = cvDiv.InnerHtml;
}

protected void preview(object sender, EventArgs e) //this is an onclick event
{
    cvDiv.InnerHtml = Editor.Content;
}

和编辑器的代码:

<asp:ScriptManager runat="server" />
<cc1:Editor ID="Editor" runat="server" OnContentChanged="preview"  />
<asp:Button runat="server" ID="eButton" CssClass="eButton" Text="Edit" OnClick="Edit" />// this is the button that is supposed to save

但它不起作用。

所以我想做的是将编辑器中所做的任何更改保存到 div

使用 asp.net 3.5 和 ajax 工具包编辑器。

提前致谢。

4

2 回答 2

2

这是我为向您展示工作代码而制作的示例。

ASPX

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
        <asp:ScriptManager ID="ScriptManager1" runat="server" EnablePartialRendering="true"></asp:ScriptManager>
        <asp:TextBox id="editor" runat="server" AutoPostBack="true"></asp:TextBox>
        <asp:Button ID="Save" runat="server" OnClick="SaveChange" Text="Save" />
        <asp:UpdatePanel ID="UpdatePanel1" runat="server" >
            <ContentTemplate>
                <div id="preview" runat="server"></div>    
            </ContentTemplate>
            <Triggers>
                <asp:AsyncPostBackTrigger ControlID="editor" EventName="TextChanged" />
            </Triggers>
        </asp:UpdatePanel>
    </form>
</body>
</html>

ASPX.CS

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class _Default : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if(!IsPostBack) editor.Text = preview.InnerHtml;
        else preview.InnerHtml = editor.Text;

    }

    protected void SaveChange(object sender, EventArgs e)
    {
        string thingsToSave = preview.InnerHtml;
        //Save to db/file/xml   

    }

}
于 2011-04-18T14:11:21.767 回答
0

您可以尝试使用Literal控制而不是服务器端<div />吗?

于 2011-04-18T13:30:04.700 回答