14-10-12, 11:00 PM
كاتب الموضوع : أحمد جمال
بسم الله الرحمن الرحيم .السلام عليكم ورحمة الله وبركاته .
نعود اليوم لنواصل سلسلة دروسنا مع ASP.net ، موعدنا في درس اليوم مع أدوات ASP.net .
كما لاحظنا سابقا، فإن تعريف أي اداة من أدوات ASP.net يتم من خلال HTML مكتوب في *.aspx ، وفيما عدا ذلك فهي شديدة الشبه بالأدوات العادية في تطبيقاتنا من ناحية المظهر وتعاملك معها كمبرمج ، إلا انها تختلف في الأداء وما وراء الكود بشكل قطعي .
وكذا الأمر بالنسبة للأحداث ايضاً والتي تم عمل ضغط لها لتتناسب مع عالم الويب ، ومع اي Event يتم نقل البيانات إلى السيرفر مباشرة .
خاصية AutoPostBack :
تتيح لك هذه الخاصية النقل إلى السيرفر مباشرة مع اي تحديث فيها ، تجد هذه الخاصية في مربعات النص Text Box وادوات الاختيار والتحديد Check Box & Radio Buttons والقوائم بانواعها List Box و Combo Box ، والقيمة الافتراضية لها هي false .
الخصائص الأساسية لأدوات الويب .
تشتق جميع أدوات الويب من الفئة System.Web.UI.Control والتي نجد لها الخصائص والدوال التالية :
Controls : تعيد جميع الأدوات الأبناء لهذه الأداة .
HasControls() : تعيد قيمة منطقية بوجود أو عدم وجود أدوات داخل هذه الأداة .
ID : الاسم الموحد لكل اداة - لا يمكن تكراره - .
Page : تعود بمتغير على الصفحة التي تحتوي هذه الاداة .
Parent : الأداة الحاضنة لهذه الأداة .
Visible : ظهور او اختفاء هذه الاداة .
كما تقدم الفئة System.Web.UI.WebControls.WebControl للأدوات المشتقة منها بعض الخصائص المتعلقة بالمظهر والعرض ، منها :
BackColor : لون الخلفية .
BorderColor : لون الحدود .
BorderStyle : ستايل الحدود .
BorderWidth : عرض الحدود .
Enabled : تفعيل او عدم تفعيل الأداة .
CssClass : ال class الخاص بال styles لهذه الأداة .
Font : معلومات الخط من الحجم والاسم وخلافه لهذه الاداة .
ForeColor : لون خط الأداة .
Height, Width : العرض والارتفاع .
TabIndex : موقعها من التنقل باستخدام Tab .
ToolTip : في حالة وجود Tips للاداة .
مثال : استعراض اسماء جميع الأدوات في الفورم :
باستخدام ال Collection الناتج عن الخاصيةControls اضافة للدالة HasControls() لمعرفة وجود أدوات من عدمه ، يمكنك كتابة الكود التالي :
C#:
كود :
[SIZE=3]string Information="";[/SIZE]
[SIZE=3]if(myPanel.HasControls())
{[/SIZE]
[SIZE=3]foreach (Control c in PanelName.Controls)
{
if (!object.ReferenceEquals(c.GetType(),typeof(System.Web.UI.LiteralControl)))
{
Information+= string.Format("Control Name: {0} <br/>", c.ToString());
Information+= string.Format("ID: {0} <br/>", c.ID);
Information+= string.Format("Control Visible: {0} <br/>", c.Visible);
Information+= string.Format("ViewState: {0} <br/>", c.EnableViewState);
Information+= "<br/><hr/><br/>";
Response.Wite(Information);
}[/SIZE]
[SIZE=3]}
}[/SIZE]
vb.net:
كود :
[SIZE=3]Dim Information As String = "" [/SIZE]
[SIZE=3]If myPanel.HasControls() Then
For Each c As Control In PanelName.Controls
If Not Object.ReferenceEquals(c.[GetType](), GetType(System.Web.UI.LiteralControl)) Then
Information += String.Format("Control Name: {0} <br/>", c.ToString())
Information += String.Format("ID: {0} <br/>", c.ID)
Information += String.Format("Control Visible: {0} <br/>", c.Visible)
Information += String.Format("ViewState: {0} <br/>", c.EnableViewState)
Information += "<br/><hr/><br/>"
Response.Wite(Information)
End If
Next
End If [/SIZE]
مثال : انشاء أدوات وقت التصميم :
C#:
كود :
TextBox t1 = new TextBox();
t1.ID = string.Format("dynamict1");
myPanel.Controls.Add(t1);
vb.net:
كود :
[SIZE=3]Dim t1 As New TextBox()
t1.ID = String.Format("dynamict1")
myPanel.Controls.Add(t1) [/SIZE]