how to change the inner html of a div

Wahtever picture Wahtever · Apr 18, 2011 · Viewed 27.4k times · Source

i have a div and an html editor and trying to:

  1. add the div inner html to the editor. (thats done)
  2. then any changes done in the editor is saved back in the div.

here is the backcode :

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;
}

and the code for the editor:

<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

but it doesnt work.

so what i am trying to do is save whatever changes made in the editor to the div

using asp.net 3.5, and the ajax toolkit editor.

thanks in advance.

Answer

2GDev picture 2GDev · Apr 18, 2011

This is an example i've made to show you a working code.

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   

    }

}