MasterPage 'in içinde bir div olsun. Bu div, arama yaptığımız yer diyelim. Arama kısmında arama kriterini yazacağımız bir textBox ve, arama işini yaptırdığımız bir button olmalı. master page'imizin kaynak kodu aşağıdaki gibi bir şey olacaktır.
Master Page (main.master)
<%@ MasterLanguage="C#"AutoEventWireup="true"CodeBehind="main.master.cs" Inherits="MasterPageKontrolunuOkuma.main"%>
<!DOCTYPE html PUBLIC "-//W3C//DTDXHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<asp:ContentPlaceHolderID="head"runat="server">
</asp:ContentPlaceHolder>
</head>
<body>
<form id="form1" runat="server">
<div>
<div style="width:100%; height:100px; text-align:center; background-color:#666; color:White; font-size:24pt">
BANNER
</div>
<div>
Content Bu kısımda olacak (ContentPlaceHolder Değil) Sadece MasterPage'in content i
<br /><br />
<asp:TextBox ID="txtAra" runat="server"BackColor="WhiteSmoke"BorderStyle="Solid"BorderWidth="1px" ForeColor="Black"Height="24px"></asp:TextBox>
<asp:Button ID="btnAra" runat="server"Height="24px"Text="Ara"/>
<br /><br />
</div>
<asp:ContentPlaceHolderID="ContentPlaceHolder1"runat="server">
</asp:ContentPlaceHolder>
</div>
</form>
</body>
</html>
Bu master Page i kullanan Default.aspx sayfasının kaynak kodu ise,
Default.aspx
Default.aspx sayfamızda ise, master page'deki txtAra kontrolünün değerini okuyacak bir button ve okuduğu değeri yazacağı bir Label (lblSonuc) bulunsun.
<%@ PageTitle=""Language="C#"MasterPageFile="~/main.Master"AutoEventWireup="true" CodeBehind="default.aspx.cs"Inherits="MasterPageKontrolunuOkuma._default"%>
<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">
<asp:Button ID="btnArananKelimeyiOku"runat="server"
Text="Master Page AramaKısmındaYazan Kelimeyi Oku"
onclick="btnArananKelimeyiOku_Click"/>
<br /><br /><asp:Label ID="lblSonuc"runat="server"Text=""></asp:Label>
</asp:Content>
Default.aspx.cs
Default.aspx sayfasındaki button'un içinde bulunduğu master page'de yer alan kontrolü bulma ve bu kontrolün değerini okuma işi bu kısımda yapılır.
using System;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace MasterPageKontrolunuOkuma
{
public partial class _default :System.Web.UI.Page
{
protected voidPage_Load(object sender, EventArgs e)
{
}
protected voidbtnArananKelimeyiOku_Click(object sender, EventArgs e)
{
//Aslında En Kritik Nokta Bu Kısım
TextBox txt = this.Master.FindControl("txtAra") asTextBox;
//Aslında En Kritik Nokta Bu Kısım
if (txt != null)
lblSonuc.Text = txt.Text;
else
lblSonuc.Text = "Arama Kutusu Bulunamadı";
}
}
}
Nested materPage lerde durum nasıldır başka bir yazıda bakalım bu konuya da...