الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

محاكاة الـsitemapPath بطريقة سهلة

بدأه saudsharary في 8 أغسطس 2013 · 0 رد · 557 مشاهدة · في ASP.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1
540971371.gif
201_1284036648.gif

34_01375837431.jpg

أحببت كتابة الحل والطريقة التي اعجبتني نوعا ما بموضوع مستقل هنا وارجو ان يكون هذا الموضوع بمكانه المناسب
اول الامر نحتاج اداة بمكان موجود بكل الصفحات وهذا يضطرنا لاستخدام صفحة الماستربيج حيث ان اي اداة فيها ستكون مرئية في كل الصفحات
لنضع الان اداة Literal في منطقة ما في الماستربيج ولتكن اسفل الهيدر واعلى شريط عناوين الصفحات او شريط التنقل
لنعطي الاداة اسم وليكن "nav"
الخطوة الثانية لنكتب في موديول التعميمات التالية:
'تخزين الروابط في متغيرات

لحظة شوف التحديث
!!! تحديث !!!

نسيت ان اذكر انه ضمن مصادر الصفحات الاخرى المطلوب الوصول لاداة في الماستر بيج من خلالها ان نكتب في ثاني سطر الكود التالي:
كود:
<%@ MasterType VirtualPath="~/MasterPage.master" %>
خلاص كمل



كود:Public nvdefault As String = ""
Public nvshowform As String = ""
Public nvshowthread As String = ""
'***********************

ثم بحدث تحميل صفحة default.aspx وهي الرئيسية نكتب الكود التالي:
كود:nvdefault = "<a href='./default.aspx'>الصفحة الرئيسية</a>"
Dim mynav As Literal = DirectCast(Master.FindControl("nav"), Literal)
mynav.Text = nvdefault ' Request.Url.PathAndQuery



لنشرح الكود:
السطر الاول وهو:
كود:
nvdefault = "<a href='./default.aspx'>الصفحة الرئيسية</a>"


وهو اسناد اسم الصفحة الرئيسية ورابطها للمتغير الخاص بها اي بالصفحة الرئيسية


السطر الثاني وهو:
كود:
Dim mynav As Literal = DirectCast(Master.FindControl("nav"), Literal)


هو للوصول للاداة التي اضفناها في الماستربيج باسم "nav" 


السطر الثالث وهو:
كود:
mynav.Text = nvdefault


اسناد متغير الصفحة الرئيسية للاداة mynav
[[هنا كود حل مؤقت تذكره جيدا]]
------------------------
الان نذهب لصفحة عرض العناوين showform ونكتب بحدث تحميلها الكود التالي:
كود:
'تغيير محتوى literal
If Not IsPostBack Then
nvshowform = nvdefault & " < <a href='" & Request.Url.PathAndQuery & "'>" & Request.QueryString("fn") & "</a>"
End If
Dim mynav As Literal = DirectCast(Master.FindControl("nav"), Literal)
mynav.Text = nvshowform ' Request.Url.PathAndQuery




طبعا هذا الكود اكثره html من حيث اضافة طابع الرابط مثل الصفحة السابقة لكن هنا توجد اكواد فيجوال بيسك مهمة وهي موجودة هنا

{ معلومة} .. معلومات Request




المهم الان متغير nvshowform اسندنا له متغير nvdefault اي رابط واسم الصفحة الرئيسية وختمناها بالاسناد للمتغير او الاداة الموجودة بالماستربيج 

كود:
mynav.Text = nvshowform

-----------------


الان توجه لصفحة عرض الموضوع showthread.aspx
وبحدث تحميلها اكتب

كود:'تغيير محتوى literal If Not IsPostBack Then
Dim mynav As Literal = DirectCast(Master.FindControl("nav"), Literal)
nvshowthread = nvshowform & " < <a href='" & Request.Url.PathAndQuery & "'>" & Request.QueryString("thn") & "</a>"
mynav.Text = nvshowthread
End If
' انتهاء تغيير محتوى literal

طبعا فيه اشياء قد لاتعمل معك مثل متغير

كود:
Request.QueryString("thn")

لانها مرسلة من صفحة سابقة فقط لعرض اسم الموضوع في الاداة
-----------------------------------------------------
الان انتهينا من برمجة المحاكي بقي حل اشكال وهو ان نفرغ متغير اسم المنتدى ورابطه بحدث تحميل الصفحة الرئيسية ,, المثال لا اشكال  فيه لاني لم اضمن قسم فقط الرئيسية والمواضيع

كود:nvshowform = ""nvshowthread = ""

34_01375902180.jpg




ارجو ان اكون قدمت لكم شيئا مفيدا
عيدكم مبارك

 

sitemapPath.zip

post-219035-0-94929600-1375992509.jpg

post-219035-0-53768200-1375992534.jpg

تم تعديل هذه المشاركة بواسطة saudsharary في 8 أغسطس 2013 في 23:18

1

مواضيع مشابهة