گرامر فرم های وب

يک صفحه فرم وب ، فايلی متنی با انشعاب aspx است .در فايل فوق علاوه بر درج متن و محتويات ايستا ، می توان از هشت نوع گرامر متفاوت برای درج محتويات پويا استفاده نمود. جداول زير ويژگی هر يک از گرامر های موجود را نشان می دهند.
سه‌شنبه، 13 اسفند 1387
تخمین زمان مطالعه:
موارد بیشتر برای شما
گرامر فرم های وب
گرامر فرم های وب
گرامر فرم های وب

يک صفحه فرم وب ، فايلی متنی با انشعاب aspx است .در فايل فوق علاوه بر درج متن و محتويات ايستا ، می توان از هشت نوع گرامر متفاوت برای درج محتويات پويا استفاده نمود. جداول زير ويژگی هر يک از گرامر های موجود را نشان می دهند.

  <%    %>  يا  <%=   %>

نوع اول  Rendering Code

توضيحات : امکان درج کد  بصورت مستقيم در  فرم های وب  فراهم می شود. کدهای محصور بين <%  %>صرفا" اجراء شده ،در صورتيکه کدهای محصور شده بين <%=  %>در ابتدا ارزيابی و در نهايت ماحصل آنان نمايش داده خواهد شد.

مثال : نمونه برنامه زير با استفاده از کدهای پيمايش  سه مرتبه عبارت Learn WebForm Syntaxرا در خروجی نمايش خواهد داد. ( هر عبارت در يک خط مجزا )

<%@ Page Language="VB" %>
 <html>
   <body>
      <% Dim I As Integer
            For I = 0 To 3 %>
             <font size="<%=I%>"> Learn Web Form Syntax </font> <br>
         <% Next %>
   </body>
</html>
 


  <Script Runat="Server">

نوع دومDeclaration Code 

توضيحات : از طريق بلاک های فوق می توان متدها و متغيرهائی را تعريف نمود که در ادامه به PageClassترجمه خواهند شد. بلاک های مربوطه با استفاده از تگ <Script> تعريف و دارای خصلتی با نام Runatو مقدار "Server" می باشند. المان <Script> می تواند دارای يک خصلت اختياری با نام Languageبمنظور مشخص نمودن زبان مربوط به کدهای نوشته شده باشد. در صورتيکه زبان مورد نظر مشخص نگردد ، ASP.NET  بصورت پيش فرض زبان در نظر گرفته شده برای صفحه ( استفاده از دايرکتيو page@)  و يا کنترل کاربر ( استفاده از دايرکتيو Control@) را برای کدهای نوشته شده در بلاک در نظر خواهد گرفت .

مثال : نمونه برنامه زير با استفاده از کد تعريفی  ، تابعی با نام subtractتعريف که وظيفه آن محاسبه اختلاف دو عدد ، و برگرداندن مقدار محاسبه شده است. در صفحه اصلی با استفاده از يک حلقه تکرار اعداد يکصد تا يک در خروجی نمايش داده خواهند شد. برای نيل به هدف فوق ،  تابع Subtract به دفعات مشخص ( تحقق شرط) صدا زده می شود.

<html>
  <script language="VB" runat=server>
    Function Subtract(Num1 As Integer, Num2 As Integer) As Integer
      Return Num1-Num2
   End Function
  </script>
<body>
<%
Dim Number As Integer = 100
 Do While Number > 0
    Response.Write("Value: " & Number & "<br>")
    Number = Subtract(Number, 1)
 Loop  %>
</body>
</html>


  <asp:   ..... runat=server/ >

نوع سوم ASP.NET serverControl

توضيحات : کنترل های سرويس دهنده ASP.NET  ، اين امکان را به فراهم می نمايند  که رابط های کاربر پويائی را بمنظور پاسخ به در خواست های سرويس گيرندگان ايجاد کرد.کنترل های فوق دارای خصلت    Runat=Serverمی باشند.

مثال :برنامه زير نحوه استفاده از کنترل Lableرا نشان می دهد. کنترل فوق به کلاسی مربوط می گردد که در namespaceبا نام System.Web.UI.WebControlsقرار دارد. در ادامه می توان با استفاده از نام (Id) نسبت داده شده به کنترل ،  به آن مراجعه و خصلت های  مربوط به آن را تغيير داد.

<html>
   <script language="VB" runat=server>
       Sub Page_Load(Sender As Object, E As EventArgs)
           Message.Text = "Welcome to ASP.NET"
       End Sub
    </script>
<body>
     <asp:label id="Message" font-size=24 runat=server/>
</body>
</html>

 

  <...   runat=server>

نوع چهارم ASP.NET HTML ServerControl

توضيحات : کنترل های سرويس دهنده  Html، امکان برنامه نويسی مورد نظر در رابطه با  عناصر Html  را فراهم می نمايند.کنترل های فوق با عناصر Htmlسرويس گيرنده از طريق خصلت (<Runat=Server>) متمايز خواهند شد. با استفاده از کدهای دلخواه  ( برنامه نويسی ) ، می توان  مستقيما" به متدها و صفات کنترل های  فوق دستيابی پيدا کرد .

مثال : برنامه زير نحوه استفاده از کنترل سرويس دهنده <Span runat=server> را نشان می دهد.

<html>
    <script language="VB" runat=server>
        Sub Page_Load(Sender As Object, E As EventArgs)
            Message.InnerHtml = "Welcome to ASP.NET"
       End Sub
    </script>
 <body>
     <span id="Message" style="font-size:24" runat=server/>
</body>
</html>


 <%#........%>

نوع پنجم Data Binding

توضيحات : طراحان صفحات وب می توانند با استفاده از عمليات Data binding،بصورت سلسله مراتبی صفات مربوط به هر کنترل را به مقادير موجود در Data Containersنسبت دهند. عبارات محصور بين     <%  ....# %> زمانی اجراء خواهند شد که متد DataBindفراخوانی  گردد.

مثال :  برنامه زير نحوه نسبت دهی داده  در رابطه با کنترل <asp:Lable runat=Server> را نشان می دهد.

<html>
   <script language="VB" runat=server>
       Sub Page_Load(Sender As Object, E As EventArgs)
          Dim Items As New ArrayList
          Items.Add("One")
          Items.Add("Two")
          Items.Add("Three")
          MyList.DataSource = Items
          MyList.DataBind()
     End Sub
   </script>
<body>
   <asp:datalist id="MyList" runat=server>
      <ItemTemplate>
           Here is a value: <%# Container.DataItem %>
       </ItemTemplate>
   </asp:datalist>
</body>
</html>


 <Object   runat=Server>

نوع ششم▼  Objecttag

توضيحات : با استفاده از تگ های object، می توان نمونه هائی از اشياء را تعريف کرد.  بدين ترتيب يک شی در زمان اجراء بصورت اتوماتيک ايجاد و امکان برنامه نويسی در رابطه با آن وجود خواهد داشت.

مثال : برنامه زير نحوه استفاده از تگ فوق را برای تعريف کلاس ArrayListنشان می دهد.

<html>
<object id="Items" class="System.Collections.ArrayList" runat=server/>
<script language="VB" runat=server>
    Sub Page_Load(Sender As Object, E As EventArgs)
      Items.Add("One")
      Items.Add("Two")
      Items.Add("Three")
     MyList.DataSource = Items
     MyList.DataBind()
   End Sub
</script>
<body>
  <asp:datalist id="MyList" runat=server>
    <ItemTemplate>
        Here is a value: <%# Container.DataItem %>
    </ItemTemplate>
   </asp:datalist>
</body>
</html>


<%--    --%>  

نوع هفتم ▼  Server-Side Comment

توضيحات : برای ارائه توضيحات در متن برنامه استفاده می شود. کدهای محصور بين تگ فوق ، بر روی سرويس دهنده پردازش نشده و برای آنها خروجی توليد نخواهد گرديد. . هر آيتم که بين <%-- --%> قرار می گيرد ، فيلتر می گردد. تگ های ابتدا و پايان می تواند  يک خط  را شامل شده ( توضيحات يک خط ) و يا مجموعه ای از خطوط را در برگيرد ( توضيحات چند خط ) . بلاک ها ی مربوطه نمی توانند بصورت تودردتو (Nested) باشند.

مثال :  برنامه زير نحوه استفاده از تگ های فوق را نشان می دهد.

<html>
<body>
 <%--
      <asp:calendar id="MyCal" runat=server/>
         <% For I = 0 To 44 %>
               Hello World <br>
         <% Next %>
  --%>
</body>
</html>


<-- #Include file="Location.inc"  -->

نوع هشتم ▼   Server-Side Include

توضيحات :  امکان درج محتويات يک فايل درون فايل ديگر فراهم می گردد

مثال : برنامه زير نحوه درج  Headerو Footerدر يک صفحه وب را نشان می دهد.

<html>
<body>
    <!-- #Include File="Header.inc" -->
    <p>
     <h3> Main page content </h3>
     <p>
    <!-- #Include File="Footer.inc" -->
</body>
</html>

Header.inc Contents :
This header has been included using a server-side include....

Footer.Inc Contents :
This footer has been included using a server-side include....



نظرات کاربران
ارسال نظر
با تشکر، نظر شما پس از بررسی و تایید در سایت قرار خواهد گرفت.
متاسفانه در برقراری ارتباط خطایی رخ داده. لطفاً دوباره تلاش کنید.
مقالات مرتبط