Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/388.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将CKEditor集成到ASP.NET中_Javascript_Asp.net_Ckeditor_Dom Events_Ckeditor.net - Fatal编程技术网

Javascript 将CKEditor集成到ASP.NET中

Javascript 将CKEditor集成到ASP.NET中,javascript,asp.net,ckeditor,dom-events,ckeditor.net,Javascript,Asp.net,Ckeditor,Dom Events,Ckeditor.net,我目前正在为一个网站实施CMS。我使用JavaScript、jQuery、C++等的经验非常少,我主要处理java、SQL和C++。我的问题是我在页面上加载了CKEditor实例。我可以将存储在数据库中的HTML加载到CKEditor窗口中,但无法从CKEditor中获取已更改的值 Default.aspx <%@ Page Title="Home Page" Language="C#" MasterPageFile="~/Site.mas

我目前正在为一个网站实施CMS。我使用JavaScript、jQuery、C++等的经验非常少,我主要处理java、SQL和C++。我的问题是我在页面上加载了CKEditor实例。我可以将存储在数据库中的HTML加载到CKEditor窗口中,但无法从CKEditor中获取已更改的值

Default.aspx

<%@ Page Title="Home Page" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true"
CodeFile="Default.aspx.cs" Inherits="_Default" %>
<%@ Register Assembly="CKEditor.NET" Namespace="CKEditor.NET" TagPrefix="CKEditor" %>

<asp:Content ID="Head1" runat="server" ContentPlaceHolderID="head" >
<%--Javascript funciton for Display Contents button--%>
<script type="text/javascript">
    function GetContents() {
        // Display the value of CKEditor into an alert
        alert(CKEDITOR.instances.CKEditor1.getData());
        //Have also tried alert(CKEDITOR.instances[CKEditor1].getData());
    }
</script>
</asp:Content>
<asp:Content ID="form1" runat="server" ContentPlaceHolderID="ContentPlaceHolder1">
<CKEditor:CKEditorControl ID="CKEditor1" runat="server">
</CKEditor:CKEditorControl>
<%--Button that executes the command to store updated data into database--%>
<asp:Button ID="SaveButton" runat="server" Text="Save Changes" 
    onclick="SaveButton_Click" />
<button type="button" onclick="GetContents()">Display Contents</button>
  
</asp:Content>
我已经测试并知道我正在通过
SaveButton\u Click
方法写入数据库。我注意到的一点是,我可以显示静态警报消息,例如
警报(“消息”)但没有弹出任何警报窗口,显示代码中的任何一行


如果您能帮助我设置此设置,以便我可以使用类结构写入数据库,或者让
GetContents()
正常工作,我将不胜感激。

在Page\u Load中,在编写
CKEditor
控件的
Text
属性之前,您应该检查
if(!Page.IsPostBack)
,否则,在每次回发(即单击按钮)时,控件将具有来自数据库的相同值

protected void Page_Load(object sender, EventArgs e)
    {
        if (!Page.IsPostBack)
        {
            //Retrieve HTML
            HomePageHTML hp = HomePageHTMLAccess.GetHomPageHTML();
           //Does HTML exist?
           if (hp.HTML != null)
           {
              PopulateControls(hp);
           }
        }
     }

在页面加载中,在写入
CKEditor
控件的
Text
属性之前,应检查
if(!Page.IsPostBack)
,否则,在每次回发(即单击按钮)时,该控件将具有来自数据库的相同值

protected void Page_Load(object sender, EventArgs e)
    {
        if (!Page.IsPostBack)
        {
            //Retrieve HTML
            HomePageHTML hp = HomePageHTMLAccess.GetHomPageHTML();
           //Does HTML exist?
           if (hp.HTML != null)
           {
              PopulateControls(hp);
           }
        }
     }

非常感谢你,阿德里安,它很有魅力。如果其他任何人在SaveButton_Click方法中遇到此问题,请添加一个不带感叹号的if(Page.IsPostBack),并关闭其中的所有代码,它就会工作。@tuckerjt07,在SaveButton_Click上,Page.IsPostBack将始终为真(页面通过按钮单击发回,有意义吗?)。另外,请接受答案。这是我的想法,但由于某种原因,在我把if语句放进去之前,它不会起作用。
!Page.IsPostBack
这意味着您是第一次进入页面的,如果在页面加载处理程序中写入控件,则只能第一次加载。非常感谢Adrian,它非常有效。如果其他任何人在SaveButton_Click方法中遇到此问题,请添加一个不带感叹号的if(Page.IsPostBack),并关闭其中的所有代码,它就会工作。@tuckerjt07,在SaveButton_Click上,Page.IsPostBack将始终为真(页面通过按钮单击发回,有意义吗?)。另外,请接受答案。这是我的想法,但由于某种原因,在我把if语句放进去之前,它不会起作用。
!Page.IsPostBack
这意味着您第一次输入页面,如果在页面加载处理程序中写入控件,则只能第一次加载。