Anasayfa     Güncel Sürüm   BlogEngineTR Ağı   Bize Destek Olun   Forum   Wiki   Eklentiler   Temalar   BasIn Bülteni   Arşiv   İletişim

BlogEngine'da Kendi ASP.NET Sayfanızı Yaratın

30. Eylül 2008 03:02 tarihinde Alp Çoker tarafından BlogEngine.NET kategorisinde yazılmıştır.

       Hepimizin bildiği gibi BlogEngine üzerinde sayfalar oluşturabiliyoruz. Fakat BlogEngine ile birlikte gelen tiny_mce text editörü veya yazılarımızı Window Live Writer'dan ( Windows Live Writer ile BlogEngine.NET Kullanmak ) , Microsoft Word'den ( MS Word Kullanarak BlogEngine'a Yazı Göndermek ) yazarken herhangi bir html veya asp.net kontrolünü sayfaya ekleyip kontrol edemiyoruz. Bu yazımda normal bir asp.net sayfasını BlogEngine içinde temayla(master page ile) beraber kullanmayı göstereceğim. Apayrı ve boş bir asp.net sayfası yaratmak yerine , sitenizdeki her sayfada blogengine temanızdan ve blog kontrollerinizden kopmamış olacaksınız. Ayrıca tiny_mce editörü embed veya object( ses, video , Java appletleri , resimler , Flash animasyonları , ActiveX, PDF  gibi) html kodlarını çalıştırmanıza izin vermiyor. Normal bir asp.net sayfasında her ihtiyacınızı sağlayabilirsiniz. Örnek sayfa için bize destek olun sayfamıza göz atabilirsiniz.

Nasıl Yapılır?

1-) Herhangi bir text editörü veya Visual Studio kullanabilirsiniz. Visual Studio'da  blogengine projenizde istediğiniz yerde bir web form yaratın. aspx dosyasında en üstte 1. satırdaki page directive ( <%@ Page Language="C#" ..... ) hariç diğer tüm satırları silin.

 

2-) Eğer blogengine objelerini  ( <blog:CategoryList> gibi ) sayfada kullanıcaksanız ki çok nadir ihtiyacınız olur , 2. satıra  aşağıdaki kodu kopyalayın.

<%@ Import Namespace="BlogEngine.Core" %>

 

3-) ASP.NET sayfasında kullanıcağımız bütün kontrolleri aşağıdaki content içine koyacağız. BlogEngine temamızdaki site.master dosyasındaki <asp:ContentPlaceHolder ID="cphBody" runat="server" /> satırındaki kodun bağlantısını görmüş olduk. Temamızda yer ayırıp , web formumuzda içini doldurduk. Aşağıdaki kodu yarattığınız aspx sayfasında en alta kopyalayın.

 <asp:content id="Content1" contentplaceholderid="cphBody" runat="Server">  
 
  <!-- sayfamızda görünecek bütün kontrolleri bunun içine kopyalayın -->

</asp:content>

 

4-) Temamızın sayfamıza uygulanması , tracking scriptimizin , CSS imizin bu yarattığımız sayfa için de çalışması için BlogEngine 'ın her sayfası için uyguladığı abstract BlogBasePage classından inherit etmemiz gerekiyor. Bunun için yarattığımız sayfanın aspx.cs dosyasında

public partial class olusturdugunuzSayfaIsmi : System.Web.UI.Page

satırı bulup aşağıdaki satır ile değiştirmeniz gerekiyor.

public partial class olusturdugunuzSayfaIsmi : BlogEngine.Core.Web.Controls.BlogBasePage

 

5-) Üsteki değişikliklerle normal asp.net sayfamız çalışacaktır. Allta örnek bir aspx dosyası ekledim.

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="olusturdugunuzSayfaIsmi.aspx.cs" Inherits="olusturdugunuzSayfaIsmi" %>

<asp:content id="Content1" contentplaceholderid="cphBody" runat="Server"> 
   <div id="page" >        
       <asp:Button runat="server" id="button1" Text="Button"></asp:Button>
       <asp:TextBox id="textBox1" runat="server"></asp:TextBox>
    </div>
</asp:content>

Div zorunlu değil visual studio'nun intellisense'inde web kontrollerini çıkması için kullanabilirsiniz. Ayrıca BlogEnginedaki normal sayfalar'in css'ini kullanabilirsiniz id="page" eklentisi ile. Bu yöntem ile BlogEngine'ınızı daha da özelleştirebilir içine farklı projeler aktarabilirsiniz.

Alp Çoker www.alpcoker.com

Bu yazıyı diğer sitelerde paylaş

Etiketler:

Yorumlar


Yorum ekle


 

  Country flag ( Kendi Siteme Nasıl Ekleyebilirim? )

biuquote
  • Yorum
  • Canlı önizleme
Loading