1. Inline kodlamada hangi ifadeler kullanılır? <% ... %> <%= ... %> <%@ ... %> <%# ... %> <%$ ... %> <%-- ... %> 2. <%= ... %> nasıl kullanılır, adı nedir? Adı: Displaying expression <%= DateTime.Now.ToString() %> String return eden methodu bastırmak için kullanırız <%= MerhabaYaz() %> 3. <%: ... %> nedir, <%= ... %> ile arasındaki fark nedir? <%: ... %> String içindeki değeri işlemeden direk gösterir. <%= ... %> String içindeki değeri işleyerek gösterir Adı:Html Encoding output public string EkranaYaz() { return "
Merhaba"; } <%: EkranaYaz() %> Sonuç;
Merhaba <%= EkranaYaz() %> Sonuç; Merhaba 4. <%@ ... %> nasıl kullanılır, adı nedir? Adı: Directive expression @Page : Sadece .aspx sayfalarında kullanılır ve bir dosyaya sadece bir tane eklenebilir. Eklenen sayfayı aspx yapar. <%@ Page Language="C#" %> <%@ Page Language="C#" CodeFile="Default2.aspx.cs" Inherits="Default2" %> @Control : Sadece .ascx dosyalarının içinde kullanılır (user control). Eklenen sayfayı usercontrol yapar. <%@ Control Language="C#" ClassName="WebUserControl" %> @Import namespace tanımlamak için kullanılır. Eğer script tagı ile c# kodu yazacaksak kullanırız. <%@ Import Namespace="System.Data" %> @Assembly: DLL veya CS dosyalarını sayfada kullanabilmek için kullanılır. (aspx ve ascx kısımlarında kullanılır) DLL örneği; <%@ Assembly Name="CustomFile" %> Class (cs) örneği <%@ Assembly src="Csharp.cs" %> Örnek kullanım; - Class1.cs adında bir class ekle (App_code içinde değil direk ana root altında) İçeriği; public static class Class1 { public static string deneme() { return "Merhaba"; } } - Default.aspx ekle. <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %> <<%@ Assembly Src="~/Class1.cs" %>
@Register: UserControl'leri ve Custom Server Control'leri sayfaya register etmek için kullanılır. <%@ Register assembly="AjaxControlToolkit" namespace="AjaxControlToolkit" tagprefix="asp" %> <%@ Register src="WebUserControl.ascx" tagname="WebUserControl" tagprefix="uc1" %> @Implements : used when we want to implement an Interface . and this Directive takes only one attribute "Interface" . <%@ Implements Interface="IWebParts" %> @Reference : used to indicate that the source file of the page or user control should dynamically compiled and linked to the current page . <%@ Reference Control ="~/WebUserControl.ascx" %> <%@ Reference Page="~/Default2.aspx" %> <%@ Reference VirtualPath ="anyfile.any" %> @OutPutCache : Sayfada veya UserControl'de cache kullanacağımız zaman kullanırız. <%@ OutputCache Duration ="900" VaryByParam ="none" %> Note: both attributes ( Duration and VarybyParam ) are required. @Master. Bunu eklediğimiz sayfa master page olur. <%@ Master Language="C#" AutoEventWireup="true" CodeFile="MasterPage.master.cs" Inherits="MasterPage" %> @MasterType. MasterPage kullanan bir sayfada MasterPage içerisindeki public olan property ve metodlara erişmek için kullanırız. Örnek; MasterPage.master.cs kısmı; public string isim { get { return "Ertan"; } } Default.aspx kısmı; <%@ Page Title="" Language="C#" MasterPageFile="~/MasterPage.master" AutoEventWireup="true" CodeFile="Default2.aspx.cs" Inherits="Default" %> <%@ MasterType VirtualPath="~/MasterPage.master" %> Default.aspx.cs kısmı; protected void Page_Load(object sender, EventArgs e) { Response.Write(Master.isim); } @PreviousPage bir önceki sayfadaki public olan property, method'lara ulaşmak için kullanılır. Örnek; Sayfa1.aspx.cs public string isim { get { return "Ertan"; } } protected void Button1_Click(object sender, EventArgs e) { Server.Transfer("Sayfa2.aspx"); } Sayfa2.aspx <%@ PreviousPageType VirtualPath="~/Sayfa1.aspx" %> Sayfa2.aspx.cs protected void Page_Load(object sender, EventArgs e) { Response.Write(PreviousPage.isim); } Kullanım: Önce sayfa1'i aç ve buton'a tıkla. (Response.Redirect ile yaparsan çalışmaz) @Application: used to declare the global application file .(global.asax) <%@ Application Language="C#"%> @WebService: used to declare the web service file .(.asmx) <%@ WebService Language="C#" CodeBehind="~/App_Code/WebService.cs" Class="WebService" %> @WebHandler: used to declare the generic handler file (.ashx) <%@ WebHandler Language="C#" Class="Handler"%> @ServiceHost: used by WCF (Windows Communication Foundation) . <%@ ServiceHost Language="C#" Debug="true" Service="Service" CodeBehind="~/App_Code/Service.cs" %> 5. <% ... %> nasıl kullanılır, adı nedir? Adı: Rendering Code
<% for(int i = 0 ; i <5; i++){ %> Hello World !
<% } %>
Hello World ! Hello World ! Hello World ! Hello World ! Hello World ! 6. Inline olarak method ve field nasıl yaratırım?