29 Mart 2013 Cuma

CKEditor'e html içerik ekleme



Merhaba arkadaşlar bu yazı veritabanından almış olduğunuz html içeriği tırnak işaretleri, boşluklar, html etiketleri vs. gibi javascript hatalarına sebep olabilecek şeyler kurtararak ckeditor'e nasıl ekleneceğini gösteren bir örnektir.
Ben bir Asp.NET MVC uygulamasında bu örneği kullanmıştım. Tabi ufak bir iki değişiklikle normal asp.net projelerinde de kullanabilirsiniz.

** Öncelikle Controller'da veritabanından html içeriği getirecek metodu tanımlıyoruz. Bu görüldüğü gibi geri dönüş değeri olarak Json nesnesi dönüyor.

public ActionResult GetPageContent(PageViewModel pageViewModel)
{
      pageViewModel.PageDTO = PageBusiness.GetByGUID(pageViewModel.PageDTO.GUID);
      return Json(new { content = pageViewModel.PageContentAsText });
}

** JQuery ajax ile de bu metodu çağırıp dönen sonucu ckeditor'e ekliyoruz. 

function SetCKEditorContent(pageGUID)
{
      data = {};
      data["PageDTO.GUID"] = pageGUID;
      $.ajax({
              url: '@Url.Action("GetPageContent")',
              type: "POST",
              processData: true,
              data: data,
              dataType: "json",
              async: true,
              success: function (data) {
                    editor.setData(data.content, function () { this.checkDirty(); });  
                    // Ajax sonucunda gelen data nesnesindeki değeri CKEditor'e atama işlemi.
                }
            });
}

Not: CKEditor için editor nesnesini nasıl oluşturduğumu görmek için ckeditor ile ilgili bir önceki yazımı inceleyebilirsiniz;
http://turkceyazilim.blogspot.com/2013/03/ckeditorde-imlecin-oldugu-yere-yeni-bir.html

Hiç yorum yok:

Yorum Gönder