سلام وقت بخیر
کد صفحه 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 که استفاده میکنم مشکلی ندارن
مشکل از کجاست؟
کتایخانه اش ار به پروژه Refrence دادید ؟
چه کتابخانه ای؟ همیشه استفاده میکردم توی WebSite کتابخانه ای نمیخواست!
پوشه ckeditor رو به پروژه اضافه کردم و خط زیر رو هم بالای صفحه نوشتم:
<%@ Register Assembly="CKEditor.NET" Namespace="CKEditor.NET" TagPrefix="CKEditor" %>
برای درج خود ckeditor هم که توی toolbox اول add کردم بعد درج کردم توی صفحه!
البته سرچ زدم گوگل توی چند تا سایت خارجی تاپیک های مشابه برای همین مشکل دیدم که گفته بودن باید کتابخانه System.Design.Ui توی Global اضافه بشه اما این کتابخانه رو توی Global نشناخت که اضافه کنم
این کامپوننت هست
از نوع معمولیش استفاده کنید و به صورت Html یک textArea بزارید و در لحظه اجر تبدیل به ادیتور کنید
نمونه زیر هم ببینید
خیلی ممنون استاد لطف کردید
استاد دقیقا طبق مقالتون پیش رفتم همون مشکل رو داشت 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 میاد!
استاد نمونه پروژه خودتون هم دقیقا همین مشکل رو داره برام اجرا نمیشه:
از کامپوننت استفاده نکنید
به صورت دستی js ها را اصافه کنید و از یک textArea معمولی استفاده کنید
این لینک میتونه کمکتون کنه به روش خودتون توضیح داده
سلام مجدد استاد
واقعا از دیروز تا به الان درگیر این ارور CKEditor هستم
لینکی که دادید رو مو به مو چندین بار تست کردم که البته توضیحی درباره اینکه چطوری textArea رو به ادیتور تبدیل کنم نداده بود فقط نوشته بود که تو web.config چه فضای نامی استفاده کنیم و چطوری CkeditorControl رو اد کنیم و همون مواردی که استفاده میکردم!
واقعا نمیفهمم چرا اینجوری هست و مشکل از کجاست چون بدون دستکاری کردن همین کدی که ارور میگیره رو توی WebSite پیاده میکنم کار میکنه!
نظر دیگه ای ندارید؟ یا اینکه ممکنه بگید چطوری textArea رو لحظه اجرا به ckEditor تبدیل کنم؟
اون نمونه در سایت ما هم ارور داره ؟
اون نمونه کامل هست و اگر ارور داره سیستم شما یا چیزی کم داره یا مشکلی داره
بله نمونه ای که در سایت شما هم بود ارور میده البته ارورش با ارور پروژه خودم متفاوته
ارورش هم اینه استاد:
مشکلب در سیستم شماست
من تست کردم اجرا شد بدون هیچ مشکلی
از کجا باید مشکل رو پیدا کنم استاد؟
هیچ کاربری تا کنون از این پست تشکر نکرده است
با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)