ASP.NET (გაკვეთილი 1)

asp.net
ASP.net

ანოტაცია

განხილულია ASP.NET ტექნოლოგიის არსი, იდეოლოგია, რეალიზაციის ხერხები და საშუალებები. ნაშრომში განხილული საკითხების ათვისების შემდეგ მკითხველს შეუძლია შექმნას ინტერაქატიული ვებ-გვერდი. სრულფასოვანი საითის შესაქმნელად მას დამატებითი ცოდნის მიღება სჭირდება.

წიგნი განკუთვნილია სპეციალისტებისათვის, ბაკალავრიატის სტუდენტებისათვის, მაგისტრანტებისათვის, დოქტორანტებისა და სხვა დაინტერესებულ პირთათვის, რომლებიც ფლობენ: დაპროგრამების VB.NET ენას, მონაცემების ბაზებთან მუშაობის ტექნიკას.

რედაქტორი ეკ. მეცნ. დოქტორი თეა მუნჯიშვილი

რეცენზენტები: ტექ. მეცნ. დოქტ. მორის ჯიბუტი

ეკ. მეცნ. დოქტ. გივი პარკაძე

@ თბილისის უნივერსიტეტის გამომცემლობა, 2009

წყარო: tsu.org.ge

თავი 1. ASP.NET-ის ცნება და გამოყენების არეალი

განასხვავებენ სტატიკურ და დინამიკურ Web-გვერდებს. სტატიკური Web-გვერდის შინაარსი არ იცვლება გვერდზე მიმართვის დროს. დინამიკური Web-გვერდის შინაარსი მუდმივ განახლებას განიცდის, მაგ., ინფორმაცია ამინდის, ბირჟაზე ფასიანი ქაღალდების კოტირების შესახებ და სხვა. მომხმარებელს საშუალება ეძლევა დაუკვეთოს სასურველი საქონელი, დაათვალიეროს ინფორმაცია მომწოდებლების შესახებ, გამოიანგარიშოს საბაჟო გადასახადები და სხვა. ASP.NET ტექნოლოგია საშუალებას იძლევა მინიმალური დროითი და შრომითი დანახარჯებით შეიქმნას ასეთი Web-გვერდები, Web-საითი.

დინამიკური Web-გვერდის შესაქმნელად ASP.NET საშუალებას იძლევა კომბინირებულ იქნეს სტანდარტული HTML ელემენტები (ცხრილები, ტექსტი, ფორმატიზაციის ელემენტები და სათაურის ტეგები) და მართვის ელემენტები: Label, DataGrid, GridView, TextBox და სხვა, აგრეთვე პროგრამული კოდი, რომლის გენერირება ხორციელდება გარკვეული მოვლენის დადგომისას. მომხმარებელი თავისი ბროუზერის საშუალებით მიმართავს ASP.NET გვერდს, რომლის კომპილაციის შემდეგ (თუ კომპილირებული არ არის, ხორციელდება მისი კომპილაცია) გვერდები გამოიტანება მომხმარებლის კომპიუტერზე. კომპილატორი ამუშავებს გვერდს, მართვის ელემენტებს გარდაქმნის სტანდარტულ HTML ტეგებად და ტექსტად. საშედეგო გვერდი არ შეიცავს კოდებს, მართვის ელემენტებს და შეიძლება დათვალიერებულ იქნეს ნებისმიერ ბროუზერში.

კლიენტის მხარეს შეიძლება კომპილატორის მიერ გენერირებული პროგრამული კოდის შემჩნევა, რომლითაც მყარდება კლიენტის ურთიერთობა მონაცემების შეტანის დროს, მაგ., ტექსტურ ველში მონაცემების შეტანის კონტროლი.

        თავი 1.  ASP.NET-ის ცნება და გამოყენების არეალი

1.1.        ASP.NET-ის გვერდის დამუშავება

Web-საითზე მოსახვედრად საკმარისია სერვერის მისამართის აკრეფა . გვერდის სახელის გაფართოებაა aspx. aspx გაფართოება ASP.NET გვერდის ფაილის გაფართოებაა. შეკითხვის მიცემისას მიმართვა ხორციელდება IIS სერვერზე (Internet Information Server), რომელიც პოულობს საჭირო ფაილს aspx გაფართოებით. IIS ადგენს, რომ საქმე აქვს ASP.NET გვერდთან, რომელიც შეიცავს პროგრამას და მართვის ელემენტებს. შეკითხვის შედეგად გვერდი გაიშვება სერვერის მიერ. საჭიროების შემთხვევაში (თუ მითითებულია პროგრამაში) სერვერი იძახებს სხვა კომპონენტებს, როგორიცაა ADO.NET, ელექტრონული ფოსტის ბიბლიოთეკები, კლიენტების საკუთარი კომპონენტები და სხვა.

დამატებითი კომპონენტების აქტივიზაცია, ცხადია, ზრდის ASP.NET-ის შესაძლებლობებს. კომპონენტების გამოყენებით შესაძლებელია მოძებნილ და რედაქტირებულ იქნეს მონაცემები მონაცემების ბაზაში, ხოლო გაანგარიშებების შესასრულებლად გამოყენებულ იქნეს UPS კალკულატორი.

თავი 1.  ASP.NET-ის ცნება და გამოყენების არეალი

1.2.        ASP.NET-ის გვერდის სტრუქტურა

როგორც ცნობილია, HtmlLგვერდის სტრუქტურა შემდეგია:

<html>
<head>
<title>studenti</title>
</head> 
<body>
<p>gamarjobaT!</p>
</body>
</html>
ამ HTML გვერდის შესაბამისი ASP.NET გვერდის კოდი შემდეგია:
<html>
<head>
<title> studenti</title>
</head>
<body>
<form runat-"server">
<asp:Label
id="lblMessage"
Font-Size="12pt"
Font-Bold="True"
Font-Name="AcadNusx"
Text-"<centerxbxhl>gamarjobaT!</hl></b></center>"
runat="server"
/>
</form>
</body>
</html>

კოდში ორი მნიშვნელოვანი ცვლილება მოხდა:

პირველი: დაემატა ფორმის ტეგი <form runat=”server”>, რომელიც  დავალებას აძლევს კომპილატორს დამუშავდეს გვერდზე არსებული მართვის ელემენტები.

მეორე: გვერდზე დამატებულია მართვის ელემენტი Label ტექსტის გამოსატანად. მისი თვისებების ცვლილებით შესაძლებელია გვერდზე ტექსტის გამოტანის რეგულირება. id=”lblMessage” სისტემის მიერ მართვის ელემენტისთვის მინიჭებული სახელია (სახელი შეიძლება შეიცვალოს), რომელიც გამოიყენება პროგრამული კოდის დაწერის დროს.

მესამე: შემოიტანება შეტყობინება runat=”server”, რომლითაც კომპილატორი გაიგებს, რომ აუცილებელია მართვის ელემენტის დამუშავება.

კონსტრუქცია მთავრდება ტეგით />

კონსტრუქცია აგრეთვე შეიძლება დამთავრდეს ტეგით </asp:Label>

განვიხილოთ შემდეგი მაგალითი

 <%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default.aspx.vb" Inherits="_Default" %>
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 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>studenti</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:Label ID="Label1" runat="server" Style="vertical-align: middle; font-family: AcadNusx;
            text-align: center" Text="Label"></asp:Label></div>
    </form>
</body>
</html>

აქ ტეგის შემდეგ გამოჩნდა <head runat=”server”>, რაც მიუთითებს კომპილატორს, რომ პროგრამა სერვერზე უნდა შესრულდეს.

მაგალითი

დავაკავშიროთ გვერდის ჩატვირთვის მოვლენასთან Label-ზე წარწერის და მიმდინარე დროის გამოტანა:

Partial Class _Default
    Inherits System.Web.UI.Page
     Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        Me.Label1.Text = "mimdinare dro aris" & " " & TimeOfDay()  ’funqciiT TimeOfDay()  gamoitaneba mimdinare dro
    End Sub
End Class

პროგრამის მუშაობის შედეგი ნაჩვენებია სურათზე  /სურ. 1.1/.

post-1-0-78003600-1382592280.jpg

სურ. 1.1. პროგრამის მუშაობის შედეგი

მაგალითი

დავიტანოთ გვერდზე მართვის ელემენტები TextBox და Button. ღილაკზე მოვლენასთან “დაწკაპუნება” (Click) დავაკავშიროთ ტექსტურ ველში ჩაწერილი ინფორმაციის გამოტანა.

Html კოდი შემდეგია:

<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default.aspx.vb" Inherits="_Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 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>Untitled Page</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:Label ID="Label1" runat="server" Style="vertical-align: middle; font-family: AcadNusx;
text-align: center" Text="Label"></asp:Label><br />
<br />
<asp:Label ID="Label2" runat="server" Style="font-family: AcadNusx" Text="Label"></asp:Label><br />
<br />
<asp:TextBox ID="TextBox1" runat="server" Style="font-family: AcadNusx"></asp:TextBox><br />
<br />
<asp:Button ID="Button1" runat="server" Height="32px" Style="font-weight: bold; direction: ltr;
font-family: AcadMtavr; background-color: lightgrey" Text="gaangariSeba" />&nbsp;</div>
</form>
</body>
</html>

პროგრამულ მოდულში ჩვენს მიერ ჩაწერილი პროგრამა შემდეგია

Partial Class _Default
Inherits System.Web.UI.Page
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Me.Label1.Text = "mimdinare dro aris" & " " & TimeOfDay()
End Sub
Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
Me.Label2.Text = "gamarjoba" & " " & Me.TextBox1.Text & "!"
End Sub
End Class

პროგრამის მუშაობის დახმარებით გვერდის ჩატვირთვის შემდეგ Internet Explorer-ში გამოვა სურ. 1.2. მასზე ასახულია შემდეგი მომენტი: ველში (TextBox) ჩაწერეთ სახელი გიორგი და დააწკაპუნეთ ღილაკზე „გაანგარიშება”. დაწკაპუნების შემდეგ ველში ჩაწერილი სიტყვის გიორგი და და პროგრამაში ჩაწერილი სიტყვის გამარჯობა კონექტაციით მიღებულია წინადადება გამარჯობა გიორგი! ამავე დროს გვერდის ჩატვირთვისთანავე ჩაირთო საათი.

post-1-0-68276100-1382592376.jpg

სურ. 1.2. პროგრამის Button1_Click მუშაობის შედეგი

ASP.NET-ის აქ მოტანილ მოკლე აღწერაში ნახსენებია რამდენიმე ტერმინი: ფორმა, მართვის ელემენტი, პროგრამული კოდი.

ინტერაქტიული Web-გვერდის, საითის შექმნა ხორციელდება პროგრამული სისტემით  Visual Studio 2008-ით.

თავი 1.  ASP.NET-ის ცნება და გამოყენების არეალი

1.3.        Visual Studio 2008-ის გაშვება

  • მიეცით ბრძანება Start/Programs/Microsoft Visual Studio 2008/ Microsoft Visual Studio 2008. გამოვა  ფანჯარა;
  • ფანჯარაში მიეცით ბრძანება File/New Web Site. გამოვა ფანჯარა Web-საითების შაბლონების ჩამონათვალით /სურ.1.3/.

post-1-0-16059300-1382592555.jpg

 სურ. 1.3. Web-საითების შაბლონების ჩამონათვალი

პერსონალურ Web-საითის შესაქმნელად მონიშნეთ იარლიყი Personal Web Site Starter kit. გამოვა Web-საითის პირველი გვერდის ნიმუში, რომელიც შეიძლება გამოყენებულ იქნეს პირველი გვერდის შესაქმნელად. ამავე ფანჯარაში, ველში Language მიეთითება დაპროგრამების ენა. მაგ., Visual Basis და საითის სახელი.

Empty Web-ის მონიშვნით შეიქმნება საითის სახელი და იგი ჩარჩოთი მოთავსდება ფანჯრის მარჯვენა ზედა კუთხეში.

ASP.NET Web Site მონიშვნის შემთხვევაში გამოვა გვერდი წინასწარ დაპროექტებული ფორმით და საითის კონფიგურაციისთვის საჭირო ფაილით. ჩვენ ვქმნით ამ ტიპის Web-საითს.

0Shares