Chapter 02




Kompilimi i website 

Shumica e aplikacioneve Web nuk jane precompiled/ te parakompiluara. Ne vend te kesaj, faqet dhe kodi jane kopjuar ne web server dhe pastaj compilohen ne menyre dinamike nga ai web server ne kohen kerkohet per here te pare nga nje perdorues. Ne kompilim, kodi vendoset brenda nje assembly dhe ngarkohet ne domain e aplikimit te sitit tuaj. Kerkesat e tjera per te njejtin kod do te sherbehen nga assembly i krijuar.

Ky model eshte referuar si kompilim dinamik. Ajo ka nje numer te mirash dhe te keqijash, duke perfshire te meposhtmet:

-pro Ndryshimet per nje file ne kete faqe interneti do te rezultojne ne nje rikompilim automatik te nje te dhene burim. Kjo lejon zhvillim me te lehte.

-pro Nuk ka nevoje te behet recompiled tere aplikimi sa here qe nje ndryshim i eshte bere nje faqe te vetme apo komponenti. Kjo eshte shume e mire per faqet e medha Web.

-pro Faqet qe permbajne gabime kompilimi nuk ndalojne ekzekutimin ne faqet e tjera ne web site. Kjo do te thote qe ju mund te provoni web site qe permbajne faqe ende ne zhvillim.

-con Ky model i kerkon perdoruesit te pare te marre nje vonese te performances ne kompilim.

-con Ky model kerkon kodin tuaj burim qe do te vendoset ne server.

Visual Studio 2010 gjithashtu ju lejon te beni precompile web faqen tuaj. Ne kete rast i gjithe site tuaj eshte kompiluar dhe kontrolluar per ndonje gabim, dhe vetem kodin e layoutit dhe assembly-t e kompiluara hidhen ne web server. Parakompilimi ka pro-te dhe kundra-t ne vijim: 

-pro Ofron verifikimin qe te gjitha faqet dhe varesite midis tyre mund te kompilohen. Kjo perfshin pjesen e kodit, markup, dhe file Web.config.

-pro Performance per perdoruesit e pare, kerkohet nje burim(source file) i cili eshte i parakompiluar, dhe permiresohet shpejtesia pasi nuk kemi kompilim dinamik.

-con Web faqet e parakompiluara te jene me te veshtira per tu hedhur ne server dhe menaxhuar, pasi duhet te behet kompilim dhe pastaj kopje vetem i fileve te nevojshem ne server (kundrejt thjesht kopjimit te kodit tuaj ne server).


File i konfigurimit

Filet e konfigurimit ju lejojne te menaxhoni parametrat e shumte ne lidhje me faqen tuaj web. Cdo setting mbahet ne nje XML file (me prapashtesen .config) qe permban nje grup elementesh konfigurimi. Elementet perbejne opsione te te tilla si informacionet e sigurise, stringjet e lidhjes se bazes se te dhenave, caching settings, dhe me teper. Nje faqe e dhene mund te jete kunfiguruar ne me teper se nje .config files. Prandaj eshte e rendesishme te kuptohet se si keto files punojne se bashku per te krijuar dhe mbivendosur(override) parametra te ndryshme.

Filet e konfigurimit ne nivel ekzekutimi te faqes duke u bazuar ne nje hierarki. Pergjithesisht kjo do te thote se ka nje file global konfigurimi per te gjitha faqet ne nje makine te caktuar, te quajtur Machine.config. Ky file gjendet ne %SystemRoot%\Microsoft.NET\Kornize\<versionNumber>\config\directory.

Machine.config file permban parametrat per te gjitha llojet e aplikimit .NET. Keto parametra jane globale ne makine. Disa nga parametrat ne Machine.config file te mund te mbivendosen(override) nga parametrat ne Web.config file qe jane me siper ne hierarki, ndersa parametrat e tjera jane me globale ne natyre. Ato jane prone e .NET Framework, keshtu qe ata jane te mbrojtura dhe nuk mund te behen override(mbivendosen) nga Web.config files.

File i konfigurimit Machine.config mund te percaktoje parametrat per te gjitha faqet ne nje makine, ofrimi I nje tjeter .config file me tej ne kete zinxhir nuk do te mbivendose asnje nga keto settings. Megjithese Web.config ofron nje mundesi garanton nje opsion global konfigurimi, ju mund te perdorni .config files brenda direktorive individuale ne web site per te siguruar kontroll me te imte. Ne mes te ketyre dy poleve ju mund te vendosni nje numer te pacaktuar te fileve .config  me ndryshime ne shkallen e fushes se fuqise se aplikimit. Figura tregon kete hierarki.



File tjeter ne hierarki eshte file Web.config default ne rrenje, i cili eshte i vendosur ne te njejten direktori si file Machine.config. Kjo skede permban parametrat defautlt te web server, disa nga te cilat mund te mbivendosen mbi parametrat ne file-in Machine.config.

Ne direktorine rrenje te secilit web site, ju keni mundesine per te shtuar nje file Web.config. qe mund te permbaje parametra shtese per faqen e internetit, si dhe te beje override parametrat e percaktuara me poshte ne zinxhirin e hierarkise. Se fundi, çdo subdirectory ne nje aplikim web ne menyre opsionale mund te kete filen e vete web.config ne te cilin vetem nje bashkesi parametrash jane te vlefshme.

Visual Studio  mundeson nje GUI per modifikimin e konfigurimit:



Perdorimi i Server Controls

Nje kontroll serveri ASP.NET eshte nje kontroll qe siguron si funksionalite te perdoruesit dhe nje programim permes nje modeli eventi ne anen server-side. Per shembull, nje kontroll Button i lejon perdoruesit te shkaktoje nje veprim, te tille si mundesia per te treguar se ata kane perfunduar nje detyre (mbushja e nje forme me te dhena dhe ne fund ndodhet butoni). Perveç kesaj, kontrolli Button eshte postuar perseri (post back) ne server ku ASP.NET eshte ne gjendje qe te shikoje ngjarjen qe lidhet me kete kontroll ne baze te kodit te ngjarje (eventit) (nje event klikimi, per shembull). Kontrollet server te ASP.NET ju mundesojne te shkruani kodin perkundrejt nje modeli te mirepercaktuar objektesh. Ne fakt, te gjitha kontrollet server, duke perfshire dhe vete klasen e web page, jane te trasheguar nga klasa System.Web.UI.Control me disa nga klasat child kryesore si WebControl, HTML-Control, TemplateControl, dhe Page.

Ka dy lloje kryesore te kontrolleve server ne ASP.NET: HTML dhe Web. Kontrollet HTML sigurojne perpunimin server-side qe pergjithesisht kthehet ne nje element HTML input si nje kuti teksti ose te butoni submit. Kontrollet Web kontrollet jane ASP.NET kontrolle qe perqendrohen me shume ne modelin objekt te tyre dhe me pak ne aspektet e tyre te gjenerimit te HTML.

Cikli jetesor i faqes dhe kontrolleve

Per te kuptuar me mire se si veprojne kontrollet server, eshte e rendesishme qe te kete nje kuptim te mire e ciklit te jetes se nje faqe web ASP.NET dhe kontrolleve te saj. Cikli i jetes fillon kur nje perdorues kerkon nje faqe web permes browserit te tij ose te saj. Web serveri pastaj proceson faqen nepermjet nje seri fazash perpara kthimit te rezultatit prapa ne browserin e perdoruesit. Keto faza te perpunimit percaktojne ciklin e jetes se nje faqe web. Te kuptuarit se si ASP.NET perpunon nje faqe web ne server eshte çelesi per te qene ne gjendje te zhvillohet me sukses aplikacioni web. Figura tregon nje pasqyre te nivelit te larte te ciklit te jetes se perpunimit te faqes.


Kur nje faqe Web kerkohet, serveri krijon objekte qe lidhen me faqen dhe te gjitha objektet e kontrollit femije  te saj dhe i perdor keto per te shfaqur faqen ne browser. Pasi mbaron faza perfundimtare, web serveri i shkaterron keto objekte per te liruar burimet per te trajtuar kerkesat shtese. Kjo i lejon web serverit te trajtoje me shume kerkesa nga me shume perdorues.

Megjithate, ajo paraqet probleme per zhvilluesin se nuk ka asnje proces qe mban te dhenat e objekteve (te quajtura gjendje [state]) ndermjet kerkesave. ASP.NET perdor ate qe quhet state view per te zgjidhur kete çeshtje. Referojuni perseri figures dhe vini re se nje bashkesi fazash te nje faqe ASP.NET perfshijne edhe perdorurimin e view state dhe ruajtjen e view state.


Rendesia e View State

View State eshte nje mekanizem i perdorur nga ASP.NET per te ruajtur kerkesat e userit dhe te dhenat e marra si pergjigje midis kerkesave te bera faqe. Te dhenat e ruajtura lidhen me kontrollet e serverit.

Ketyre te dhenave u referuarohemi si control state. Serish, te dhenat e view state nuk ruhen ne server. Ne vend te kesaj, ato ruhen ne nje view state te faqes (faza 7, renderizimi) dhe i dergohen perseri te perdoruesit me ane te Response. Kur perdoruesi ben kerkesen tjeter, view state kthehet me kerkesen e tij ose te saj. Kur proceset faqja, ASP.NET merr view state nga faqja dhe e perdor ate per te rivendosur vlerat e parametrave te faqes dhe kontrolleve te saj (faza 4, load). Kjo i lejon ASP.NET qe te kete te gjitha te dhenat objekt ndermjet e kerkesave pa patur nevoje per ti ruajtur ato ne server.

Rezultati eshte nje web server me i pershkallezuar qe mund te trajtoje me shume kerkesa. View state eshte vetem nje prej disa teknikave te rendesishme te menaxhimit te state per aplikacionet Web. 


Eventet e ciklit jetesor te faqes

Nderkohe qe ASP.NET proceson nje faqe neper fazat jetesore te saj, therriten ngjarje(evente) te ndryshme per faqen dhe kontrollet e saj. Ju shkruani kodin per te trajtuar keto ngjarje dhe ne kete menyre merni pergjigjet per veprimet e ndryshme lidhura me perpunimin e nje faqeje. Per shembull, ju mund te deshironi te shkruani kodin qe therritet kur nje faqe ngarkohet per here te pare (load) (faza 4) per te percaktuar nese perdoruesi eshte duke kerkuar nje faqe apo kemi nje postim perseri ne server. Ky eshte nje skenar tipik. Kur nje faqe kerkohet per here te pare shpesh duhet te inicializohen te dhenat dhe kontrollet. Megjithate, kur ai ben post back/poston perseri ju nuk deshironi te ekzekutohet ky kod. Nje shembull tjeter tipik eshte kur nje perdorues klikon nje buton. Ju deshironi t’i pergjigjeni ngjarjes kur klikoni vetem ate buton. Duke ditur se cilat ngjarje(evente) jane therritur dhe ne cilen rradhe mund te jemi te sigurte se kodi jone ekzekutohet si duhet dhe mund te behet debug. Tabela permban nje liste me ngjarjet(eventet) me te zakonshme qe shkaktohen kur nje faqe perpunohet nga ASP.NET.

 

Eventi

Pershkrimi

PreInit

This is the first real event you might handle for a page. You typically use this event only if you need to dynamically (from code) set values such as master page or theme.

This event is also useful when you are working with dynamically created controls for a page. You want to create the controls inside this event.

Init

This event fires after each control has been initialized. You can use this event to change initialization values for controls.

InitComplete

Raised once all initializations of the page and its controls have been completed.

PreLoad

This event fires before view state has been loaded for the page and its controls and before PostBack processing. This event is useful when you need to write code after the page is initialized but before the view state has been wired back up to the controls.

Load

The page is stable at this time; it has been initialized and its state has been reconstructed. Code inside the page load event typically checks for PostBack and then sets control properties appropriately.

The page’s load event is called first. Then, the load event for each child control is called in turn (and their child controls, if any). This is important to know if you are writing your own user or custom controls.

Control (PostBack)

event(s)

ASP.NET now calls any events on the page or its controls that caused the PostBack to occur. This might be a button’s click event, for example.

LoadComplete

At this point all controls are loaded. If you need to do additional processing at this time you can do so here.

PreRender

Allows final changes to the page or its control. This event takes place after all regular PostBack events have taken place. This event takes place before saving ViewState, so any changes made here are saved.

SaveStateComplete

Prior to this event the view state for the page and its controls is set. Any changes to the page’s controls at this point or beyond are ignored. This is useful if you need to write processing that requires the view state to be set.

Render

This is a method of the page object and its controls (and not an event). At this point, ASP.NET calls this method on each of the page’s controls to get its output.

The Render method generates the client-side HTML, Dynamic Hypertext Markup Language (DHTML), and script that are necessary to properly display a control at the browser.

This method is useful if you are writing your own custom control.

You override this method to control output for the control.

UnLoad

This event is used for cleanup code. You use it to release any managed resources in this stage. Managed resources are resources that are handled by the runtime, such as instances of classes created by the .NET common language runtime.

 

Kontrolli i eventeve te ciklit jetesor

Kujtojme se klasa ASP.NET Page trashegon nga e njejta klase kontrolli nga e cila trashegojne server kontrollet e tjera. Prandaj nuk duhet te jete e habitshme fakti se kontrollet server ndajne nje cikel te perbashket jetesor me klasen page. Çdo kontroll server shkon neper te njejten cikel te jetes si nje faqe, si init, load, render, dhe unload. Keto ngjarje ndodhin gjate te njejtes ngjarje per prindin e tyre, keshtu qe kur nje faqe ekzekuton ngjarjen load ajo me pas ben te njejten gje per çdo kontroll femije. Çdo kontroll femije qe permban kontrolle te tjera femije gjithashtu ekzekuton ngjarjet load per çdo kontroll femije te tij (nivele hierarkike).

Eshte e rendesishme te theksohet se ky ekzekutim i sinkronizuar ngjarjesh eshte i vertete per te gjitha kontrollet e shtuar ne faqe ne kohen e dizenjimit. Ata kontrolle qe jane te shtuar ne menyre dinamike gjate ekzekutimit te kodit nuk do te kene ngjarjet e tyre te ekzekutuara ne nje sekuence te ngjashme me ate objektit te faqes. Ne vend te kesaj, kur ata te shtohen ne faqe ne menyre dinamike, ngjarjet e kontrollit ekzekutohen ne menyre sekuenciale deri sa gte arrijne ne fazen aktuale te parentit te tyre (zakonisht te faqes qe po ekzekutohet).


Krijimi i handler-ave 

Kontrollet ne ASP.NET  kane nje event te cilit mund ta trajtoni si default. Per shembull, per objektet faqe ngjarja default eshte Load dhe ngjarje e parazgjedhur per objektin buton eshte ngjarja Kliko. Brenda Visual Studios ju mund te vendosni nje handler ngjarjeje per ngjarjen default te nje kontrolli nga thjesht nje double-klik ne siperfaqen e projektimit per kontrollin e dhene. Per shembull, ne qofte se ju beni nje doubleclick nje faqe ku ju punoni default shkohet te Page_Load ne dosjen CS krrespondent per ate faqe. Ju mund te beni te njejten gje per kontrollet e tjera qe ju shtoni ne nje faqe. Thjesht klikoni dy here nje Button ose TextBox per te gjeneruar nje handler ngjarjeje default ne filen tuaj CS. Kjo metode double-click punon gjate gjithe Visual Studios.

 

Redaktori i kodi per C# gjithashtu ka nje handler ngjarjeje per drop-down list. Mjedisi siguron nje mjet per handlerat e ngjarjeve te kontrollit. Megjithate, ai nuk ofron nje mjet te tille per ngjarjet e page. Per keto, ju duhet te vendosni kodin per ngjarjen me dore. Ndiqni keto hapa per te shtuar handler ngjarje INIT ne nje C #

Web faqja:

1. Klikoni-Djathtas nje faqe Web nga Solution Explorer dhe zgjidhni View Markup qe te hapet kodi dizajn (HTML) per nje faqe te caktuar. Verifikoni se AutoEventWireup e faqes eshte vendosur truene direktiven @Page (kjo eshte default). Kjo thjesht do te thote se Runtime automatikisht do te lidhe handler te ngjarjeve qe ai gjen ne kodin tuaj me formen e zakonshme te Page_EventName qe perputhet.

2. Klikoni me te djathten ne te njejten faqe dhe zgjidhni View Code per te hapur editorin e koduar me dile-in e kodit c# te faqes se ngarkuar. Nga brenda kllapave te klases se pjesshme, shtoni kodin si vijon. Ky kod automatikisht do te degjoje si handler veprimin Init te page qe po kompilohet.

private void Page_Init (objekt derguesi, EventArgs e)

{

}

 

Vendosja e handlerave te ngjarjeve te kontrolleve individuale ne C # eshte pak me e lehte. Ju nuk e keni te nevojshme te kujtoni emrin e çdo ngjarjeje. Ne vend te kesaj, ju mund te perdorni dritaren Property per nje kontroll per te gjeneruar nje handler ngjarjeje ne file-in C#. Procedura e meposhtme tregon percaktimin e nje ngjarjeje per nje kontroll Button.

1. Hap nje faqe ne anen Design. Nga Toolbox, shtoni nje kontroll Button ne faqe.

2. Zgjidhni kontrollin Button per te pare parametrat e tij (right-click dhe zgjidhni Properties).

3. Ne dritaren Properties, klikoni ikonen events (rrufe te verdhe ne qiell). Kjo ndryshon nga dritarja e ngjarjeve paraetra. Figura tregon nje shembull.

4. Nga ketu, ju gjeni ngjarje qe ju deshironi ta trajtoni dhe klikoni dy here ne Properties Window mbi emrin e saj.


HTML vs. Web Server Controls

Ju keni dy opsione kur te krijuar shume nga elementet e perbashketa per nderfaqen e perdoruesave te tilla si butonat, tekst box, label si: kontrollet server HTML apo kontrolli Web server. Seksionet e meposhtme mbulojne te dyja llojet e kontrolleve. Megjithate, keto pyetje mund te lindin: Cili lloj i kontrollit duhet te perdoret per qellimin tim? Ne vijim eshte nje udhezim i nivelit te larte qe mund t’ju ndihmoje te zgjidhni llojin e duhur te kontrollit per situaten tuaj.

Konsideroni perdorimin e kontrolleve server HTML kur ndonje nga kushtet e meposhtme plotesohet:

·         Ju po migroni faqet ASP klasike ekzistuese, mbi ASP.NET.

·         Kontrolli duhet te kete lidhje me client-side JavaScript te bashkangjitur me handlerin e eventeve te kontrollit.

·         Web site ka shume client-side JavaScript qe referohet mbi kontrollin.

Ne pothuajse te gjitha rastet e tjera, ju duhet te konsideroni perdorimin e kontrolleve me te fuqishme Web server. Kontrollet Web server ndjekin nje model te ngjashem te programimit dhe standarde emertimi si ai i Formave Windows. Perveç kesaj, ata nuk perkthehen ne nje etikete te vetme HTML. Ne vend te kesaj, ata mund te gjenerojne rreshta te shumta (ose tags) te HTML dhe JavaScript. Keto kontrolle gjithashtu kane perfitime te tjera si mbeshtetje e support multibrowser, nje programim sipas modeleve, kontroll te layout, mbeshtetje te theme, dhe me shume.


Kontrollet server HTML ( HTML server Controls) 

Nje HTML server kontroll ju lejon te percaktoni HTML aktuale brenda faqes tuaj ASP.NET, por punohet me kontroll ne server nepermjet nje modeli objekt te dhene nga .NET Framework. Çdo kontroll HTML eshte percaktuar Brenda ne faqen tuaj duke perdorur standarde sintakse HTML tag. Kjo do te thote se punohet duke perdorur taget <input />, <select />, <textarea />, dhe te tjera. Default, keto HTML tags nuk jane lidhur tek ndonje kontroll server. Prandaj, mund te jene te veshtira per tu perdorur nga serveri nese nuk ka kontrolle te lidhura me propertite dhe metodat. Ne vend te kesaj, ju thjesht mund te aksesoni vlerat e tag permes Page.Request.Form. Ky model eshte korrekt per faqe shume te thjeshta dhe eshte modeli i vetem per ASP-ne klasike.

Perndryshe, ju mund te aplikoni atributin runat = "server" per keto tags kontrolli. Ne kete rast, ASP.NET do te lidhe HTML tag me nje object te ngjashem server-side qe ofron propertite dhe metodat e projektuara per te punuar me tagun e dhene. Kjo mund ta beje pervojen tuaj te programimit shume me te lehte. Perveç kesaj, ASP.NET automatikisht mban gjendjen per keto objekte dhe ben thirrje per ju (kujtojme state view). Figura tregon hierarkine e klaseve per shume prej kontrolleve server HTML.


Krijimi i HTML kontrolleve ne nje dokument HTML

Nje nga menyrat me te mira te perdorimit te HTML server controls eshte konvertimi ASP pages klasike ne nje model te .NET Framework. Faqja ASP page klasike permban nje numer tagjesh <input />  te nderthurura ne nje <form /> tag. Shikoni shembullin. 

Classic ASP Web Page 

<html>

<head><title>Customer Page</title></head>

<body>

<form name="Form1" method="post" action="update.asp" id="Form1" >

<input type="text" name="CustomerName"

id="CustomerName" >

<input type="submit" name="SubmitButton"

value="Submit" id="SubmitButton" >

</form>

</body>

</html>

Kjo faqe permban nje forme me nje text box dhe nje buton submit. Perdoruesi mund te shkruaje emrin dhe te klikoje ne buton per te bere POST informacionin qe kane vendosur ne form perseri tek server ne faqen update.asp ne web server. Kjo faqe mund te konvertohet ne ASP.NET HTML server controls dhe ne kete menyre te lehtesohet modeli I programimit ne server. Shikoni kodin e meposhtem. Perfaqeson te njejten faqe te kthyer ne format te tille qe perdor ASP.NET. 

Converted ASP.NET Web Page

<html>

<head><title>Customer Page</title></head>

<body>

<form name="Form1" method="post" id="Form1" runat=”server”>

<input type="text" name="CustomerName"

id="CustomerName" runat=”server” >

<input type="submit" name="SubmitButton"

value="Submit" id="SubmitButton" runat=”server”>

</form>

</body>

</html> 

Vini re qe kemi nje konvertim nje-me-nje te cdo HTML tag ne HTML server control. Ajo qe ndryshoi eshte shtimi I atributit runat=”server” ne cdo control. Ky atribut i thote ASP.NET te krijoje kontrolle server per secilin nga keto elemente. E njejta pjese i eshte shtuar dhe  tagut form. Action eshte hequr pasi si default kemi dergimin e informacionit ne te njejten faqe.

Duhet te kihet parasysh qe keto tage kane nevoje per nje atribut ID ne menyre qe tem und ti referohemi ne pjesen e kodit. Vlera e ID kthehet ne emrin e instances qe perfaqeson ne faqen tone elementin ne kod.


Krijimi i HTML Server Controls ne Designer 

Kontrollet HTML server controls jane te grupuara se bashku tek Toolbox i Visual Studio designer. Ne mund te marim thjesht me drag dhe drop keto kontrolle ne format tona. Per te krijuar nje HTML server control duke perdorur Visual Studio designer, ndiq hapat:

1. Hap nje ASP.NET  ne designer.

2. Ne Toolbox, kliko tabin HTML per te pare HTML controls

3. Drag nje element HTML ne Design ose Source view ne web page.

4. Konvertoe elementin HTML ne nje server control duke i percaktuar atributin runat. Ne Source view, shto runat=”server”.


Percaktimi i parametrave  te HTML Server Controls 

Default, elementet HTML ne ASP.NET file trajtohen si text literal. Nuk mund t’u referohesh ne server-side code derisa te kthehet HTML elementi ne nje HTML server control. Duhet te percaktohet edhe ID per te patur nje menyre reference ndaj ketij elementi. Tabela tregon nje liste te properties qe i kane te gjitha HTML server controls te perbashketa. Mund te percaktohen propertite e HTML server control duke vendosur atributet ne Source view, duke percaktuar properties ne Design view, ose me ane te programimit ne kod.

 

Parametri

Pershkrimi

Attributes

A list of all attribute name-value pairs expressed on a server control tag within a selected ASP.NET page. This is accessible using code.

Disabled

A value that indicates whether the disabled attribute is included when an HTML control is rendered on the browser, which makes the control read-only when true.

Id

The programmatic identification of the control.

Style

A list of all Cascading Style Sheets (CSS) properties that are applied to the specified HTML server control.

TagName

The element name of a tag that contains a runat=”server” attribute.

Visible

A value that indicates whether the HTML server control is displayed on the page. If this value is set to false, the control does not render any HTML to the browser.

 










Shembull Source View:

<input type="button" id="myButton" runat="server" value="Click Me" style="position: absolute; top: 50px; left: 100px; width: 100px;" />

 

Shembull Design Mode:


Shembull programimi: 

myButton.Disabled = true;

myButton.Style.Add("background-color", "Black");

myButton.Style.Add("color", "Gray");

 

Web Server Controls

ASP.NET u mundeson programuesve nje bashkesi web server controls per krijimin e web pageve qe mundesojne nje funksionalitet me konsistent programimi sesa ai i HTML server controls. Web server controls jane te specifikuara ne ASP.NET (nuk ajne pjese e standardit  HTML).

Ata kane nje klase korrespondente ne .NET Framework. Disa kontrolle prodhojne nje HTML shume komplekse, sic eshte Calendar, Wizard, Login, dhe GridView.

Shumica e Web server controls trashegojne nga klasa WebControl class. Figura tregon hierarkine e disa web server controls. 




Edhe keto kontrolle mund te shtohen ne tre menyra duke perdorur, Source View, Design Mode ose edhe me ane programative. 

Shembull Source View:

<asp:Button ID="btnkerko" runat="server" onclick="btnkerko_Click" Text="kerko" />

 

Shembull Design Mode:

Shembull Programimi:

protected void Page_Load(object sender, EventArgs e)

{

TextBox  textBoxUserName = new TextBox();

textBoxUserName.ID = "TextBoxUserName";

paneli.Controls.Add(textBoxUserName);

} 

Parametrat e Server Controls:

Parametri

Pershkrimi

AccessKey

The keyboard shortcut key. It can specify a single letter or number that the user can press while holding down Alt. For example, specify “Q” if you want the user to press Alt+Q to access the control. The property is supported only in Microsoft Internet Explorer 4.0 and later.

Attributes

A collection of additional attributes on the control that is not defined by a public property, but that should be rendered in the primary HTML element of this control. This allows you to use an HTML attribute that is not directly supported by the control. This property is accessible programmatically; it cannot be set in the designer.

BackColor

The background color of the control, which can be set using standard HTML color identifiers, such as “red” or “blue,” or RGB values expressed in hexadecimal format (“#ffffff”).

BorderColor

The border color of the control, which can be set using standard HTML color identifiers, such as “black” or “red,” or RGB values expressed in hexadecimal format (“#ffffff”).

BorderWidth

The width of the control’s border in pixels. Not fully supported for all controls in browsers earlier than Internet Explorer 4.0.

BorderStyle

The border style, if there is any. Possible values are NotSet, None, Dotted, Dashed, Solid, Double, Groove, Ridge, Inset, and Outset.

CssClass

The CSS class to assign to the control.

Style

A list of all CSS properties that are applied to the specified HTML server control.

Enabled

An attribute that disables the control when set to false. This dims the control and makes it inactive. It does not hide the control.

EnableTheming

The default is true, which enables themes for this control.

EnableViewState

The default is true, which enables view state persistence for the control.

Font

An attribute that contains subproperties that you can declare using the property-subproperty syntax in the opening tag of a Web server control element. For example, you can make a Web server control’s text italic by including the Font-Italic attribute in its opening tag.

ForeColor

The foreground color of the control. It is not fully supported for all controls in browsers earlier than Internet Explorer 4.0.

Height

The control’s height. It is not fully supported for all controls in browsers earlier than Internet Explorer 4.0.

SkinID

The skin to apply to the control.

TabIndex

The control’s position in the tab order. If this property is not set, the control’s position index is 0. Controls with the same tab index can be tabbed according to the order in which they are declared in the Web page. This works only in Internet Explorer 4.0 and later.

ToolTip

The text that appears when the user hovers the mouse pointer over a control. The ToolTip property does not work in all browsers.

Width

The width of the control. The possible units are Pixel, Point, Pica, Inch, Mm, Cm, Percentage, Em, and Ex. The default unit is pixels.

 

Kontrollet me te perdorura 

-          Label

<asp:Label ID="Label1" runat="server" style="color: Blue" Text="Some Text"></asp:Label>

Ose

<asp:Label ID="Label1" runat="server" style="color: Blue">Some Text</asp:Label>

-          TextBox

TextBox control permban propertine TextMode qe mund ta percaktojme si SingleLine (default), MultiLine, ose Password. Vlera e SingleLine u lejon perdoruesve te shtojne nje rresht informacioni. Vlera Password krijon nje single-line text box qe maskon vlerat e vendosura nga perdoruesi. Vlera MultiLine tregon se perdoruesi mund te shkruaje disa rreshta teksti.

Kjo vlere perdoret se bashku me vlerat e propertive Columns dhe Rows per ti dhene perdoruesit nje text box me te madh per te vendosur me shume te dhena. Columns  percakton gjeresine e TextBox ne terma numerike per numer karakteresh ne rresht. Rows percakton lartesine maksimale te TextBox ne term te numrit te rreshtave qe mund te shikohen ne nje moment te caktuar. 

-          Button 

Nje kontroll Button mund te perdoret edhe si command button, qe perben nje bashkesi butonash qe punojne se bashku si nje grup sic eshte edhe toolbar. Butoni percaktohet si i tille duke i dhene nje vlere properties CommandName. Per shembull, mund te krijojme nje bashkesi buttonash per te krijuar idene e nje kasetofoni qe luan muzike.

protected void Button2_Click(object sender, CommandEventArgs e)

        {

            switch (e.CommandName)

            {

                case "Previous":

                    Response.Write("Previous");

                    break;

                case "Pause":

                    Response.Write("Pause");

                    break;

                case "Stop":

                    Response.Write("Stop");

                    break;

                case "Next":

                    Response.Write("Next");

                    break;

            }

        }


-          CheckBox

CheckBox control i jep mundesine perdoruesit te zgjedhe ndermjet vlerave true dhe false. Per CheckBox percaktohet  Text property per te vendosur shenimin qe do duket. Perdoret  TextAlign per te specifikuar se ne cilen ane do te duket shenimi dhe Checked per te bere si set si get te vleres se tij.

CheckedChanged eshte eventi qe gjenerohet kur ndryshon gjendja e checkboxit. Si default, vlera e AutoPostBack vendoset false. Kjo nenkupton qe cekimi ose uncekimi nuk shkakton nje PostBack. Gjithsesi eventi CheckChanged shkaktohet nese nje control tjeter ben PostBack.

 -          RadioButton

RadioButton control I jep mundesine perdoruesit te zgjedhe ndermjet nje grupi te RadioButton controls. Per kete duhet percaktuar GroupName per cdo RadioButton control ne kete grup. ASP.NET sigurohet qe tem und te selektohet vetem nje nga i gjithe grupi. Ai gjithashtu ka Text property, TextAlign property dhe Checked. Gjithashtu gjenerohet eventi CheckedChanged i cili nuk shkakton nje PostBack.


Ċ
Leogena Zhaka,
Nov 24, 2014, 8:35 AM