如何更改div的内部html

时间:2011-04-18 13:11:25

标签: asp.net html html-editor

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

  1. 将div内部html添加到 编辑。 (那已经完成)
  2. 然后在编辑器中完成任何更改 被保存回div。
  3. 这是反码:

    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工具包编辑器。

    提前感谢。

2 个答案:

答案 0 :(得分: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   

    }

}

答案 1 :(得分:0)

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