Javascript 回发后如何保持HTML div的状态

Javascript 回发后如何保持HTML div的状态,javascript,c#,asp.net,ckeditor,viewstate,Javascript,C#,Asp.net,Ckeditor,Viewstate,我在我的webform应用程序中使用如下内容: <div class="editor" runat="server" EnableViewState="true"> <div cols="10" id="editor1" name="editor1" data-sample-short contenteditable="true" runat="server" EnableViewState="true"> TEST &

我在我的webform应用程序中使用如下内容:

  <div class="editor" runat="server" EnableViewState="true">
       <div cols="10" id="editor1" name="editor1" data-sample-short contenteditable="true" runat="server" EnableViewState="true">
          TEST
       </div>
   </div>

试验

我想在回发后获取
editor1.InnerText
,我不能,因为它是无状态的HTML div,同时我不能使用等效的服务器控件,因为我已经在此控件上处理了所需的事件。
回发后如何保留数据?

使用隐藏的文本字段,如下所示:

<asp:TextBox ID="tbTransfer" runat="server" TextMode="Multiline"></asp:TextBox>

在Javascript中:

//Set Transfer Textbox display to none
document.getElementById('MainContent_tbTransfer').style.display = "none";

//Set Initial Source Code of CKEditor to Transfer TextBox's value
CKEDITOR.instances.editor1.setData(document.getElementById('MainContent_tbTransfer').value);

//Use this function for when you want to do the PostBack
function PostBack() {
    var temp = CKEDITOR.instances.editor1.getData();

    document.getElementById('MainContent_tbTransfer').value = temp.replace(/</g, "d123").replace(/>/g, "d321").replace(/&/g,"d111");
}
//将传输文本框显示设置为无
document.getElementById('MainContent\u tbTransfer').style.display=“无”;
//将CKEditor的初始源代码设置为传输文本框的值
CKEDITOR.instances.editor1.setData(document.getElementById('MainContent\u tbTransfer').value);
//要执行回发操作时,请使用此功能
函数PostBack(){
var temp=CKEDITOR.instances.editor1.getData();
document.getElementById('MainContent_tbTransfer')。value=temp.replace(//g,“d321”)。replace(//&/g,“d111”);
}
在代码隐藏中:

//Getting the HTML source code of CKEditor from the Transfer Textbox and Decrypting it
string htmlToSave = tbTransfer.Text.Replace("d123", "<").Replace("d321", ">").Replace("d111", "&");

//Setting back the Transfer Textbox's text to the decrypted HTML source code
//for when the page reloads at the end of the function,
//CKEditor sets its data = Transfer Textbox's Text
tbTransfer.Text = htmlToSave;
//从传输文本框获取CKEditor的HTML源代码并对其进行解密
字符串htmlToSave=tbTransfer.Text.Replace(“d123”和“”).Replace(“d111”和“&”);
//将传输文本框的文本设置回解密的HTML源代码
//在函数末尾重新加载页面时,
//CKEditor设置其数据=传输文本框的文本
tbTransfer.Text=htmlToSave;
HTML代码的加密和解密是必要的,因为Web浏览器会将字符“”、“&”识别为HTML标记,并且不允许您在文本框中以纯HTML文本发回


如果您的文本框在浏览器中具有不同的id,请不要忘记更改“MainContent\u tbTransfer”

使用隐藏的文本字段,如下所示:

<asp:TextBox ID="tbTransfer" runat="server" TextMode="Multiline"></asp:TextBox>

在Javascript中:

//Set Transfer Textbox display to none
document.getElementById('MainContent_tbTransfer').style.display = "none";

//Set Initial Source Code of CKEditor to Transfer TextBox's value
CKEDITOR.instances.editor1.setData(document.getElementById('MainContent_tbTransfer').value);

//Use this function for when you want to do the PostBack
function PostBack() {
    var temp = CKEDITOR.instances.editor1.getData();

    document.getElementById('MainContent_tbTransfer').value = temp.replace(/</g, "d123").replace(/>/g, "d321").replace(/&/g,"d111");
}
//将传输文本框显示设置为无
document.getElementById('MainContent\u tbTransfer').style.display=“无”;
//将CKEditor的初始源代码设置为传输文本框的值
CKEDITOR.instances.editor1.setData(document.getElementById('MainContent\u tbTransfer').value);
//要执行回发操作时,请使用此功能
函数PostBack(){
var temp=CKEDITOR.instances.editor1.getData();
document.getElementById('MainContent_tbTransfer')。value=temp.replace(//g,“d321”)。replace(//&/g,“d111”);
}
在代码隐藏中:

//Getting the HTML source code of CKEditor from the Transfer Textbox and Decrypting it
string htmlToSave = tbTransfer.Text.Replace("d123", "<").Replace("d321", ">").Replace("d111", "&");

//Setting back the Transfer Textbox's text to the decrypted HTML source code
//for when the page reloads at the end of the function,
//CKEditor sets its data = Transfer Textbox's Text
tbTransfer.Text = htmlToSave;
//从传输文本框获取CKEditor的HTML源代码并对其进行解密
字符串htmlToSave=tbTransfer.Text.Replace(“d123”和“”).Replace(“d111”和“&”);
//将传输文本框的文本设置回解密的HTML源代码
//在函数末尾重新加载页面时,
//CKEditor设置其数据=传输文本框的文本
tbTransfer.Text=htmlToSave;
HTML代码的加密和解密是必要的,因为Web浏览器会将字符“”、“&”识别为HTML标记,并且不允许您在文本框中以纯HTML文本发回


如果您的文本框在浏览器中具有不同的id,请不要忘记更改“MainContent\U tbTransfer”

尝试使用
HiddenField
?@shrys:您可以为CKEditor推荐一个特定的场景吗请使用
。在任何操作过程中,您都可以将其保存在隐藏字段中,而回发时,您可以访问并保存editor1.InnerText在Session中使用
HiddenField
?@shrys:你能推荐一个特定的场景吗?请为CKEditor使用
。在任何操作过程中,你都可以将其保存在隐藏字段中,在回发时,你可以在会话中访问和保存editor1.InnerText