سؤال

أنا أعمل حاليا على تنفيذ نظام إدارة المحتوى لموقع على شبكة الإنترنت.لدي خبرة ضئيلة جدا باستخدام جافا سكريبت ، مسج ، ج# ، الخ.أنا في الغالب التعامل مع جافا ، سكل ، و ج++.سؤالي هو لدي مثيل كيديتور تحميلها على الصفحة.أنا قادر على تحميل هتمل التي قمت بتخزينها في قاعدة البيانات الخاصة بي في نافذة كيديتور ، ولكن لا يمكنني الحصول على القيم التي قمت بتغييرها مرة أخرى من كيديتور.

افتراضي.اسبكس

<%@ 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>

افتراضي.اسبكس.جيم

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)
    {
        //Retrieve HTML
        HomePageHTML hp = HomePageHTMLAccess.GetHomPageHTML();
        //Does HTML exist?
        if (hp.HTML != null)
        {
            PopulateControls(hp);
        }
     }

    //Method to load html from database into webpage
    private void PopulateControls(HomePageHTML hp)
    {
        //Display html
        CKEditor1.Text = hp.HTML;

    }
    //Method to save the updated html into the database
    protected void SaveButton_Click(object sender, EventArgs e)
    {
        string text1 = CKEditor1.Text;
        HomePageHTMLAccess.UpdateHomePageHTML(text1);
    }
}

لقد اختبرت وأعرف أنني أكتب إلى قاعدة البيانات من طريقة سافيبوتون كليك.الشيء الوحيد الذي لاحظته هو أنه يمكنني عرض رسالة تنبيه ثابتة ، مثل التنبيه ("رسالة");ولكن لا توجد نافذة تنبيه تنبثق على الإطلاق مع أي من السطور في الكود الخاص بي.أي مساعدة على الإطلاق في الحصول على هذا الإعداد حتى أستطيع أن أكتب إما إلى قاعدة البيانات الخاصة بي باستخدام بنية الطبقة ، أو فقط في الحصول على جيتكونتنتس() للعمل سيكون موضع تقدير كبير.

هل كانت مفيدة؟

المحلول

في تحميل الصفحة يجب عليك التحقق if (!Page.IsPostBack) قبل كتابة Text ممتلكات CKEditor السيطرة ، وإلا ، على كل وظيفة الظهر (أي.انقر فوق الزر) ، سيكون لعنصر التحكم نفس القيمة من قاعدة البيانات.–

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);
           }
        }
     }
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top