تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
معلومة :: WebUserControl
#1
كاتب الموضوع محمد الناشـري
قد تحتاج في بعض الاحيان الى تطبيق نفس النموذج أو الأداة على العديد من الصفحات ..
او استغلال هذا العمل في مشاريع اخرى قادمة ..
قد يكون من احد الحلول هو القص واللصق ولكن قد يسبب بعض المشاكل في بعض الأحيان ..
WebUserControl توفر لك ذلك بكل سهولة ..
دعنا في البداية نتعرف عن الفروقات بينها وبين Web Form ..
1- اسم ملف WebUserControl ينتهى ب .ascx
2- في موجه الصفحة WebUserControl تبدا ب <%@ Control
3- ال WebUserControl لاتستطيع العمل بمفردها ولابد من اضافتها الى صفحة Web form .
4- WebUserControl لاتحتوى على عناصر html , body,form ..

إضافة WebUserControl لمشروعك ..
من نافذة Add New Item اختر WebUserControl ضع لها التسمية المناسبة .. ثم موافق ..
ويفضل تنظيم مشروعك بوضع هذة الكنترول في مجلد خاص بها .

تستطيع بعد ذلك وضع ادواتك على WebUserControl ووضع التنسيقات والتحكمات اللازمة ..

وضع WebUserControl على Web Form ...
اذهب الى صفحتك وهي في وضع التصميم ثم اسحب WebUserControl الذي صممتة واسقطة على هذة الصفحة ...
للتاكد من نجاح الربط اذا هب الى ال Sourc
[SIZE=4]
كود :
[/b][/color][/SIZE][/FONT][/SIZE][color=#007700][FONT=monospace]<%@ [/FONT][/color][color=#0000BB][FONT=monospace]Register src[/FONT][/color][color=#007700][FONT=monospace]=[/FONT][/color][color=#DD0000][FONT=monospace]"Control/new.ascx" [/FONT][/color][color=#0000BB][FONT=monospace]tagname[/FONT][/color][color=#007700][FONT=monospace]=[/FONT][/color][color=#DD0000][FONT=monospace]"new" [/FONT][/color][color=#0000BB][FONT=monospace]tagprefix[/FONT][/color][color=#007700][FONT=monospace]=[/FONT][/color][color=#DD0000][FONT=monospace]"uc1" [/FONT][/color][color=#007700][FONT=monospace]%>[/FONT][/color][b]

[SIZE=2][FONT=Times New Roman][SIZE=4][color=black]شغل صفحتك لتختبرها ..

[/SIZE]


الملفات المرفقة
.rar   UserControl.rar (الحجم : 3.57 ك ب / التحميلات : 49)
}}}
تم الشكر بواسطة:
#2
هناك طريقتان لإضافة UserControl الى صفحة Web Forms
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]
يخبر الموجه Reference@ بيئة asp.net أن تربط الـ UserControl مع الصفحة عندما يتم ترجمتها .
لكي تحدد بشكل دقيق أين تريد ان يظهر عنصر التحكم ضع Placeholder في صفحتنا DefaultRefernce.aspx
كالتالي

كود :
[color=#000080]<asp:PlaceHolder ID=[COLOR=#0000ff]"HelloHolder"[/color] runat=[color=#0000ff]"server"[/color]/>[/COLOR]
أخيراً يجب ان نضيف UserControl الى الصفحة ونعد الخاصية Name ونستدعى المنهج SayHello
اضف الشفرة التالية


كود :
<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 اتمنى أن اكون قد أفدتكم ..
يجب أن تفتح المجال لخيالك البرمجي وتفكر كيف تستغل هذة الأداة لتحسين تطبيقك وتوفير الجهد .

المثال في المرفقات


الملفات المرفقة
.rar   UserControl2.rar (الحجم : 3.15 ك ب / التحميلات : 54)
}}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  معلومة :: التقويم Calendar RaggiTech 3 2,973 25-05-13, 01:28 PM
آخر رد: shaker.soft
  { معلومة} .. معلومات Request سعود 3 2,778 25-05-13, 01:26 PM
آخر رد: shaker.soft
  معلومة :: Datalist Paging RaggiTech 0 1,970 29-09-12, 12:31 PM
آخر رد: RaggiTech
  معلومة ImageMap :: جميلة للغاية RaggiTech 1 2,297 29-09-12, 04:37 AM
آخر رد: RaggiTech
  معلومة Error pages -- مهمة للغاية RaggiTech 1 2,068 29-09-12, 04:33 AM
آخر رد: RaggiTech
  معلومة:: أجزاء الويب Web Parts RaggiTech 4 3,236 29-09-12, 04:23 AM
آخر رد: RaggiTech
  معلومة :: Site Navigation RaggiTech 0 2,072 29-09-12, 04:08 AM
آخر رد: RaggiTech
  معلومة ::: AdRotator RaggiTech 1 2,335 29-09-12, 03:42 AM
آخر رد: RaggiTech
  ::معلومة:: Datalist Paging a_senan 0 2,005 21-09-12, 05:51 PM
آخر رد: a_senan
  معلومة :: إضافة أكثر من Site Map للموقع a_senan 0 1,880 21-09-12, 05:47 PM
آخر رد: a_senan

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم