واضح آرشیو وب فارسی:راسخون:
گرامر فرم های وب يک صفحه فرم وب ، فايلی متنی با انشعاب 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....
این صفحه را در گوگل محبوب کنید
[ارسال شده از: راسخون]
[مشاهده در: www.rasekhoon.net]
[تعداد بازديد از اين مطلب: 1073]