29-09-12, 04:02 AM
هناك طريقتان لإضافة UserControl الى صفحة Web Forms
1 - تصريحياً وهو ما قمنا به في المثا السابق .
2 - برمجياً وهو ما سنتعرف عليه في موضوعنا هذا
الطريقة التصريحية هي الأسهل ولكن الطريقة البرمجية تقدم لك تحكم أفضل وقت التشغيل .
في مثالنا هذا
قمت بإنشاء UserControl جديد اسميته Hello.ascx
وهذة هي الشفرة الخاصة به
تصرح هذة الشفرة عن متغير نصي يدعى name_ وProperty تدعى Nmae سوف يتم استخدامها لا عداد واستخراج قيمة المتغير name_
وإجراء Sub يدعى sayHello تعد الخاصية Text للاداة Label .
في المثال السابق استخدمنا الموجه Register@ وسنستخدم هنا الموجه Reference@ ..
أنشئ صفحة جديدة في نفس المجلد الذي يوجد به UserContro ( في المثال اسميته Control ) واطلق عليها الاسم DefaultRefernce.aspx مثلاً
لإضافة UserControl لصفحتنا نكتب الشفرة التالية في موجه الصفحة
يخبر الموجه Reference@ بيئة asp.net أن تربط الـ UserControl مع الصفحة عندما يتم ترجمتها .
لكي تحدد بشكل دقيق أين تريد ان يظهر عنصر التحكم ضع Placeholder في صفحتنا DefaultRefernce.aspx
كالتالي
أخيراً يجب ان نضيف UserControl الى الصفحة ونعد الخاصية Name ونستدعى المنهج SayHello
اضف الشفرة التالية
قم باستعراض الصفحة ..
هذة فكرة مبسطة لاستخدام Web User Control اتمنى أن اكون قد أفدتكم ..
يجب أن تفتح المجال لخيالك البرمجي وتفكر كيف تستغل هذة الأداة لتحسين تطبيقك وتوفير الجهد .
المثال في المرفقات
1 - تصريحياً وهو ما قمنا به في المثا السابق .
2 - برمجياً وهو ما سنتعرف عليه في موضوعنا هذا
الطريقة التصريحية هي الأسهل ولكن الطريقة البرمجية تقدم لك تحكم أفضل وقت التشغيل .
في مثالنا هذا
قمت بإنشاء UserControl جديد اسميته Hello.ascx
وهذة هي الشفرة الخاصة به
كود :
<%@ Control Language="VB" ClassName="Hello" %>
<script runat="server">
Private _name As String = ""
Public Property name() As String
Get
Return _name
End Get
Set(ByVal value As String)
_name = value
End Set
End Property
Public Sub sayHello()
label1.text = "Hello," & _name & "!"
End Sub
</script>
<asp:Label ID="Label1" runat="server" ></asp:Label>تصرح هذة الشفرة عن متغير نصي يدعى name_ وProperty تدعى Nmae سوف يتم استخدامها لا عداد واستخراج قيمة المتغير name_
وإجراء Sub يدعى sayHello تعد الخاصية Text للاداة Label .
في المثال السابق استخدمنا الموجه Register@ وسنستخدم هنا الموجه Reference@ ..
أنشئ صفحة جديدة في نفس المجلد الذي يوجد به UserContro ( في المثال اسميته Control ) واطلق عليها الاسم DefaultRefernce.aspx مثلاً
لإضافة UserControl لصفحتنا نكتب الشفرة التالية في موجه الصفحة
كود :
[color=#000080]<%@ Page Language=[/color][color=#0000FF]"VB"[/color][COLOR=#000080] %>
[/COLOR][color=#000080]<%@ Reference Control=[/color][color=#0000FF]"~/Control/Hello.ascx"[/color][color=#000080] %>[/color]لكي تحدد بشكل دقيق أين تريد ان يظهر عنصر التحكم ضع Placeholder في صفحتنا DefaultRefernce.aspx
كالتالي
كود :
[color=#000080]<asp:PlaceHolder ID=[COLOR=#0000ff]"HelloHolder"[/color] runat=[color=#0000ff]"server"[/color]/>[/COLOR]اضف الشفرة التالية
كود :
<script runat="server">
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)
Dim myhello As Control = LoadControl("Hello.ascx")
HelloHolder.Controls.Add(myhello)
CType(myhello, Hello).name = "Mohammad"
CType(myhello, Hello).SayHello()
End Sub
</script>هذة فكرة مبسطة لاستخدام Web User Control اتمنى أن اكون قد أفدتكم ..
يجب أن تفتح المجال لخيالك البرمجي وتفكر كيف تستغل هذة الأداة لتحسين تطبيقك وتوفير الجهد .
المثال في المرفقات
