Sunday 18 January 2009

Asp.Net 2.0 da Masterpage sayfaları ile body onload kullanımı

Asp.net ile google maps inde kullanıldığı bir bitirme projesi yapıyorum.Projede masterpage de kullanıyorum tabi.Ancak google maps in sayfanın başlangıcında yüklenmesini sağlayacak JS fonksiyonunu default.aspx sayfasının content inde

<body onload="myfunc">

şeklinde çağıramıyorum. Bunun için şu yöntemi denedim :
Masterpage.master adlı sayfamızın head tagini kapatmadan önce şu script i ekliyoruz :

<head>

  <asp:ContentPlaceHolder runat="server" id="Headers">

  </asp:ContentPlaceHolder>
  <script language=javascript>
    function mp_onload()
    {
      if(window.body_onload != null)
      window.body_onload();
    }
  </script>
</head>


Ve yine masterpage.master sayfamızın body onload unda bu script deki fonksiyonu çağırıyoruz:

<body onload="mp_onload();">


Bu şekilde bütün masterpage sayfaların header kısmında mp_onload fonksiyonu tanımlanıyor ve bütün masterpage sayfalarının body kısmında mp_onload fonksiyonu çağırılıyor. Bundan sonra yapmamız gereken ise body onload unda işlem yapacağımız sayfanın content ine şunu ekliyoruz :


<asp:Content ID="Content2" ContentPlaceHolderID="Headers" Runat="Server">
  <script language="javascript">
    function body_onload()
    {
      //do something
    }
  </script>
</asp:Content>


Artık Masterpage sayfalarınızın body onload una herhangi bir fonksiyon yazıp çağırabilirsiniz.

1 comment:

Anonymous said...

ömer bey bana da iletişim sayfasında lazım oldu google map apisi ben normalde g map cok kullandım ama master page ile ilk kez kullanmya calıstım olmadı acaba tum kodları paylasmanız mumkun mu master page sayfasında tum kodları yazıyormusunuz google map içeren ,koordinat bilgileri filna ben her turlusunu denedim olmadı ,eğer ilgilenirseniz mal atabilrseniz memnun olurum kolay gelsin