مرجع تخصصی برنامه نویسان

انجمن تخصصی برنامه نویسان فارسی زبان

کاربر سایت

moonfa1392

عضویت از 1394/08/17

مشکل در اجرایCKEditor

  • سه شنبه 5 بهمن 1395
  • 07:02
تشکر میکنم

سلام وقت بخیر

کد صفحه sendpost.aspx :

<%@ Page Title="" Language="C#" MasterPageFile="~/management/panel/main.Master" AutoEventWireup="true" CodeBehind="sendpost.aspx.cs" Inherits="WebApplication1.management.panel.sendpost" %>

<%@ Register Assembly="CKEditor.NET" Namespace="CKEditor.NET" TagPrefix="CKEditor" %>

<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server">
    <title>ارسال پست جدید</title>
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">
    <!-- شروع صفحه - start main -->
    <div class="main">
        <div class="center">

            <!-- شروع ساید بار - start sidebar -->
            <div class="sidebar">

                <!-- شروع عنوان - start title -->
                <div class="title">
                    <img alt="امکانات مدیریت" title="امکانات مدیریت" src="images/menu.png" />
                    <h4>امکانات مدیریت</h4>
                </div>
                <!-- پایان عنوان - end title -->

                <!-- شروع لیست ها - start list -->
                <ul class="UListResponsive">
                    <li class="LI">
                        <span class="title_season"></span>
                        <ol>
                            <li>
                                <a href="#"></a>
                            </li>
                        </ol>
                    </li>
                </ul>
                <!-- پایان لیست ها - end list -->

            </div>
            <!-- پایان سایدبار - end sidebar -->

            <!-- شروع میز کار - start desktop -->
            <div class="desktop">
                <p class="alert" id="alert" runat="server"></p>
                <div class="titlesendpostbox">
                    <img alt="ارسال پست جدید" title="ارسال پست جدید" src="images/send.png" />
                    <h4>ارسال پست جدید</h4>
                </div>
                <div class="left">
                    <div class="button">
                        <asp:Button ID="cofirm" CssClass="send" ValidationGroup="form" runat="server" OnClick="cofirm_Click" Text="ذخیره" />
                    </div>
                    <div class="subject">
                        <div class="title">
                            <p>موضوع پست</p>
                        </div>
                        <div class="box">
                            <select class="cs-select cs-skin-border" id="groupid" runat="server" name="ext">
                                <option value="1">اخبار</option>
                                <option value="2">مقالات</option>
                            </select>
                        </div>
                    </div>
                    <div class="subject">
                        <div class="title">
                            <p>وضعیت پست</p>
                        </div>
                        <div class="box">
                            <select class="cs-select cs-skin-border" id="active" runat="server" name="ext">
                                <option value="true">انتشار در سایت</option>
                                <option value="false">ثبت موقت</option>
                            </select>
                        </div>
                    </div>
                </div>
                <div class="inputbox">
                    <p class="title">عنوان پست :</p>
                    <asp:TextBox ID="title" placeholder="عنوان پست" runat="server"></asp:TextBox>
                    <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ErrorMessage="لطفا عنوان پست را بنویسید!" ValidationGroup="form" CssClass="error" ControlToValidate="title"></asp:RequiredFieldValidator>
                    <asp:RegularExpressionValidator Display="Dynamic" ControlToValidate="title" ID="RegularExpressionValidator2" ValidationExpression="^[\s\S]{3,30}$" ValidationGroup="form" runat="server" CssClass="error" ErrorMessage="نمی توانید بیشتر از 30 کاراکتر وارد کنید!"></asp:RegularExpressionValidator>
                </div>
                <div class="inputbox">
                    <p class="title">لینک تصویر پست :</p>
                    <asp:TextBox ID="picture" placeholder="لینک تصویر پست" runat="server"></asp:TextBox>
                    <asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server" ErrorMessage="لطفا لینک تصویر پست را قرار دهید!" ValidationGroup="form" CssClass="error" ControlToValidate="picture"></asp:RequiredFieldValidator>
                    <asp:RegularExpressionValidator Display="Dynamic" ControlToValidate="picture" ID="RegularExpressionValidator1" ValidationExpression="^[\s\S]{5,500}$" ValidationGroup="form" runat="server" CssClass="error" ErrorMessage="لینک تصویر پست نمی تواند بیشتر از 500 کاراکتر باشد!"></asp:RegularExpressionValidator>
                </div>
                <div class="inputbox">
                    <p class="title">تاریخ درج :</p>
                    <asp:TextBox ID="day" CssClass="date" placeholder="روز" runat="server"></asp:TextBox>
                    <asp:TextBox ID="month" CssClass="date" placeholder="ماه" runat="server"></asp:TextBox>
                    <asp:TextBox ID="year" CssClass="date" placeholder="سال" runat="server"></asp:TextBox>
                </div>
                <div class="textareabox">
                    <p class="title">کلمات کلیدی :</p>
                    <div class="box">
                        <asp:TextBox ID="keywords" placeholder="کلمات کلیدی" TextMode="MultiLine" runat="server"></asp:TextBox>
                    </div>
                    <asp:RequiredFieldValidator ID="RequiredFieldValidator4" runat="server" ErrorMessage="لطفا کلمات کلیدی را وارد کنید!" ValidationGroup="form" CssClass="error" ControlToValidate="keywords"></asp:RequiredFieldValidator>
                    <asp:RegularExpressionValidator Display="Dynamic" ControlToValidate="keywords" ID="RegularExpressionValidator4" ValidationExpression="^[\s\S]{5,200}$" ValidationGroup="form" runat="server" CssClass="error" ErrorMessage="کلمات کلیدی نمی تواند بیشتر از 200 کاراکتر باشد!"></asp:RegularExpressionValidator>
                </div>
                <div class="textareabox">
                    <p class="title">خلاصه پست :</p>
                    <div class="box">
                        <asp:TextBox ID="description" placeholder="خلاصه پست" TextMode="MultiLine" runat="server"></asp:TextBox>
                    </div>
                    <asp:RequiredFieldValidator ID="RequiredFieldValidator5" runat="server" ErrorMessage="لطفا خلاصه پست را بنویسید!" ValidationGroup="form" CssClass="error" ControlToValidate="description"></asp:RequiredFieldValidator>
                    <asp:RegularExpressionValidator Display="Dynamic" ControlToValidate="description" ID="RegularExpressionValidator5" ValidationExpression="^[\s\S]{5,85}$" ValidationGroup="form" runat="server" CssClass="error" ErrorMessage="خلاصه متن نمی تواند بیشتر از 85 کاراکتر باشد!"></asp:RegularExpressionValidator>
                </div>
                <div class="textareabox">
                    <p class="title">متن کامل :</p>
                    <div class="box">
                        <CKEditor:CKEditorControl ID="text" runat="server"></CKEditor:CKEditorControl>
                    </div>
                    <asp:RequiredFieldValidator ID="RequiredFieldValidator3" runat="server" ErrorMessage="لطفا متن کامل را وارد کنید!" ValidationGroup="form" CssClass="error" ControlToValidate="text"></asp:RequiredFieldValidator>
                </div>
            </div>
            <!-- پایان میز کار - end desktop -->

        </div>
    </div>
    <!-- پایان صفحه - end main -->
</asp:Content>

کد صفحه sendpost.aspx.cs  :

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace WebApplication1.management.panel
{
    public partial class sendpost : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {

        }

        protected void cofirm_Click(object sender, EventArgs e)
        {
            DAL run = new DAL();
            if (Page.IsValid == true)
            {
                string querytext = string.Format(
                    "Insert Into tbl_content(title,keywords,description,picture,text,datereg,day,month,year,groupid,active) Values(N'{0}',N'{1}',N'{2}',N'{3}',N'single.aspx',N'{4}',N'{5}',{6},'{7}')",
                    title.Text, keywords.Text, description.Text, picture.Text, text.Text, DateTime.Now.ToShortDateString(), day.Text, month.Text, year.Text, groupid.Value, active.Value);
                run.ExecNonQuery(querytext);
                title.Text = "";
                text.Text = "";
                keywords.Text = "";
                picture.Text = "";
                groupid.Value = "";
                alert.InnerText = "با موفقیت ذخیره شد";
            }
        }
    }
}

عکس ارور :

توی پروژه WebApplication یک فایل signin.aspx.designer.cs هم اضافه کرده که من نمیدونم کاراییش چیه تابحال باهاش کار نکردم اما هرچی که هست ارور از همینجاست درواقع این خط رو که مربوط به CKEditor هست نمیشناسه :

protected global::CKEditor.NET.CKEditorControl text;

من قبلا پروژه ها رو از نوع Website باز میکردم که توی Website این مشکل وجود نداشت. الان توی webApplication که باز کردم این مشکل رو دارم.

توی کد های رویداد کلیک باتن هم ID مربوط به CKEditor رو نمیشناسه. دقیقا همین کد ها توی پروژه از نوع WebSite که استفاده میکنم مشکلی ندارن

مشکل از کجاست؟

پاسخ های این پرسش

تعداد پاسخ ها : 13 پاسخ
کاربر سایت

ایمان مدائنی

عضویت از 1392/01/20

  • سه شنبه 5 بهمن 1395
  • 09:02

کتایخانه اش ار به پروژه Refrence دادید ؟

کاربر سایت

moonfa1392

عضویت از 1394/08/17

  • سه شنبه 5 بهمن 1395
  • 09:08

چه کتابخانه ای؟ همیشه استفاده میکردم توی WebSite کتابخانه ای نمیخواست!

پوشه ckeditor رو به پروژه اضافه کردم و خط زیر رو هم بالای صفحه نوشتم:

<%@ Register Assembly="CKEditor.NET" Namespace="CKEditor.NET" TagPrefix="CKEditor" %>

برای درج خود ckeditor هم که توی toolbox اول add کردم بعد درج کردم توی صفحه!

البته سرچ زدم گوگل توی چند تا سایت خارجی تاپیک های مشابه برای همین مشکل دیدم که گفته بودن باید کتابخانه System.Design.Ui توی Global اضافه بشه اما این کتابخانه رو توی Global نشناخت که اضافه کنم

کاربر سایت

ایمان مدائنی

عضویت از 1392/01/20

  • سه شنبه 5 بهمن 1395
  • 09:50

این کامپوننت هست

از نوع معمولیش استفاده کنید و به صورت Html یک textArea بزارید و در لحظه اجر تبدیل به ادیتور کنید

نمونه زیر هم ببینید

ادیتور با قابلیت آپلود تصاویر روی هاست (Asp.Net)

کاربر سایت

moonfa1392

عضویت از 1394/08/17

  • سه شنبه 5 بهمن 1395
  • 09:56

خیلی ممنون استاد لطف کردید

کاربر سایت

moonfa1392

عضویت از 1394/08/17

  • سه شنبه 5 بهمن 1395
  • 11:37

استاد دقیقا طبق مقالتون پیش رفتم همون مشکل رو داشت ckeditor رو نمیشناسه

باز به جای اینکه اینو بذارم:

<CKEditor:CKEditorControl ID="CKEditorControl1" runat="server"></CKEditor:CKEditorControl>

به این صورت گذاشتم:

                        <asp:TextBox ID="text" TextMode="MultiLine" BasePath="/ckeditor/" runat="server" ContentsLangDirection="Rtl" Skin="moono"></asp:TextBox>

اینم اضافه کردم:

<script type="text/javascript">
        $(function () {
            CKEDITOR.replace('<%=text.ClientID %>', { filebrowserImageUploadUrl: '/Upload.ashx' });
         });
    </script>

فایل Upload.ashx هم اضافه کردم دقیقا تمام موارد مقاله

اما تبدیل به ckeditor نشد textarea میاد!

کاربر سایت

moonfa1392

عضویت از 1394/08/17

  • سه شنبه 5 بهمن 1395
  • 11:42

استاد نمونه پروژه خودتون هم دقیقا همین مشکل رو داره برام اجرا نمیشه:

کاربر سایت

ایمان مدائنی

عضویت از 1392/01/20

  • سه شنبه 5 بهمن 1395
  • 11:47

از کامپوننت استفاده نکنید

به صورت دستی js ها را اصافه کنید و از یک textArea معمولی استفاده کنید

این لینک میتونه کمکتون کنه به روش خودتون توضیح داده

کاربر سایت

moonfa1392

عضویت از 1394/08/17

  • چهارشنبه 6 بهمن 1395
  • 08:55

سلام مجدد استاد

واقعا از دیروز تا به الان درگیر این ارور CKEditor  هستم

لینکی که دادید رو مو به مو چندین بار تست کردم که البته توضیحی درباره اینکه چطوری textArea رو به ادیتور تبدیل کنم نداده بود فقط نوشته بود که تو web.config چه فضای نامی استفاده کنیم و چطوری CkeditorControl رو اد کنیم و همون مواردی که استفاده میکردم!

واقعا نمیفهمم چرا اینجوری هست و مشکل از کجاست چون بدون دستکاری کردن همین کدی که ارور میگیره رو توی WebSite پیاده میکنم کار میکنه!

نظر دیگه ای ندارید؟ یا اینکه ممکنه بگید چطوری textArea رو لحظه اجرا به ckEditor تبدیل کنم؟

کاربر سایت

ایمان مدائنی

عضویت از 1392/01/20

  • چهارشنبه 6 بهمن 1395
  • 09:24

اون نمونه در سایت ما هم ارور داره ؟

اون نمونه کامل هست و اگر ارور داره سیستم شما یا چیزی کم داره یا مشکلی داره

کاربر سایت

moonfa1392

عضویت از 1394/08/17

  • چهارشنبه 6 بهمن 1395
  • 09:44

بله نمونه ای که در سایت شما هم بود ارور میده البته ارورش با ارور پروژه خودم متفاوته

ارورش هم اینه استاد:

کاربر سایت

ایمان مدائنی

عضویت از 1392/01/20

  • چهارشنبه 6 بهمن 1395
  • 10:23

مشکلب در سیستم شماست

من تست کردم اجرا شد بدون هیچ مشکلی

کاربر سایت

moonfa1392

عضویت از 1394/08/17

  • چهارشنبه 6 بهمن 1395
  • 10:30

از کجا باید مشکل رو پیدا کنم استاد؟

کاربر سایت

ایمان مدائنی

عضویت از 1392/01/20

  • چهارشنبه 6 بهمن 1395
  • 10:34
متن خطا را در گوگل سرچ کنید
کاربرانی که از این پست تشکر کرده اند

هیچ کاربری تا کنون از این پست تشکر نکرده است

اگر نیاز به یک مشاور در زمینه طراحی سایت ، برنامه نویسی و بازاریابی الکترونیکی دارید

با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)