2011-04-18 55 views
1

的內部HTML我有一個div和HTML編輯器,並試圖:如何改變一個div

  1. 在div內部HTML添加到 編輯器。 (即完成)
  2. 然後在編輯器 中所做的任何更改都保存在div中。

這裏是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; 
} 

和編輯器的代碼:

<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 

,但它不工作。

所以我所試圖做的是保存在任何編輯製作使用asp.net 3.5股利

,而Ajax工具包編輯器修改。

在此先感謝。

回答

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 

    } 

} 
+0

我已經檢索到編輯器的div的內容,即時通訊嘗試將其保存回來,如果已對其進行更改 – Wahtever 2011-04-18 14:31:31

+0

您可以發佈您的ASPX嗎? – 2GDev 2011-04-18 14:45:59

+0

我不能共享div,因爲它有太多的元素和線條,但我可以共享編輯器。 – Wahtever 2011-04-18 18:22:14

0

您可以嘗試使用Literal控件而不是服務器端<div />

+0

已經嘗試過文字和麪板,它們可是沒有的innerHTML功能 – Wahtever 2011-04-18 14:30:27

+0

@Wahtever,有了文字,你只需要設置Text屬性到你的html。請參閱http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.literalmode.aspx – 2011-04-18 14:38:02

+0

我已經做了,但它仍然不會工作,無論我做什麼是在文字或div中認識到編輯器所做的更改 – Wahtever 2011-04-18 20:02:56