الجمعة، 17 سبتمبر 2010

الفروق الرئيسية بين HyperLink و الـ LinkButton


كثير من الناس يستخدمون الـ LinkButton بدلا من استخدام الـ HyperLink في تصميم مواقع البرمجة بلغة الـ ASP.NET وشاهدت ذلك في اعمال شركات كبيرة ايضا انهم يغفلون عن بعض الفروقات البسيطة و التي تزيد من سهولة الموقع اذا استخدمنا كل أداة في مكانها الصحيح
وبعد البحث البسيط في هذا الموضوع وصلت لبعض الفروق الرئيسية بين الأداتين رغم تشابههما الشديد في الشكل الخارجي حيث ان الأداتين تظهران على شكل نص يحتوي على رابط ولكن إليكم بعض الفروق بين الاثنين


HyperLink  
أ‌-         تقوم بالتنقل بين الصفحات مباشرة دون التوجه إلى السيرفر فلا تستطيع ان تقوم بعمل اوامر عند الضغط على الرابط.
مثال : رابط "العودة إلى الصفحة الرئيسية" أو “Home” فلا تحتاج إلى اجراء اي عمليات على السيرفر قبل العودة إلى الصفحة الرئيسية.
ب‌-    تستخدم غالبا في الربط بالوصلات الخارجية "خارج الموقع"
مثال : المواقع الصديقة اذا وضعت مثلا رابط لموقع مثل Google.com او غيره.
ت‌-    يمكنك من خلالها فتح الصفحة في نافذة مستقلة “Pop-Up Window”
ث‌-    في المتصفحات الجديدة , يمكنك الضغط بزر الماوس الأيمن و اختيار فتح الرابط في صفحة أو تاب  "Tab" مستقل .
مثال : اذا اردت ان اقارن اكثر من منتج ببعض فيجب ان يوفر لي الموقع امكانية الضغط على عدد من المنتجات لتفتح في تابات مختلفة.

LinkButton
أ‌-        تقوم بالاتصال بالسيرفر أولا وتنفيذ الأوامر ومن ثم التوجه إلى الصفحة المطلوبة.
مثال: رابط "تسجيل الخروج" أو "Sign Out" فهذا الأمر يجب ان يقوم بتخلية Session و الـ Cookies عن طريق أوامر السيرفر بالاضافة إلى بعض الأوامر الاخرى ومن ثم العودة إلى الصفحة الرئيسية.
ب‌-    تستخدم غالبا في الروابط الداخلية في الموقع .
ت‌-    لا تستطيع بطريقة مباشرة فتح الصفحة في صفحات مستقلة “Pop-Up Window”.
ث‌-    اذا ضغط على الرابط بالزر الأيمن للماوس لن تجد امكانية فتح الرابط في صفحة مستقلة أو في تاب مستقل
ولذلك لا تستخدمها ابدا في اسماء المنتجات أو عناوين المقالات وغيرها.


هذه بعض الفروقات الرئيسية التي استطعت التوصل إليها بالتجارب و البحث
أتمنى أن أكون قد افدتكم و من عنده فروقات اخرى فليزدني بها لاضيفها إلى المقالة
و إن شاء الله انتظروني في مقالات اخرى في تعليم ASP.NET

هناك 4 تعليقات:

  1. أزال المؤلف هذا التعليق.

    ردحذف
  2. بسم الله و الصلاة و السلام علي رسول الله صلي الله عليه و سلم... درس جيد يا محمد ... و لي اضافة هنا انك يمكنك في ال linked button فتح صفحة مستقلة عن طريق الكود الاتي:

    يعني مثلا في حدث الكليك الخاص بالسرفر ستضع الكود الذي سينفذ علي السرفر مثلا:
    ContractsWritingPrint print = new ContractsWritingPrint();

    print.CountryName = countryTextBox.Text;
    print.LicenseNo = licenseTextBox.Text;
    print.officeText = officeTextBox.Text;
    print.title = titleTextBox.Text;
    print.PhoneNum = phoneTextBox.Text;
    print.txt = txtTextBox.Text;

    Session["print"] = print;

    Response.Redirect("ContractsWritingPrinting.aspx");

    اذا اردت هذا الزر ان يفتح في صفحة مستقلة فيمكنك اضافة الكود التالي في حدث ال
    onclientclick
    الخاص به

    document.forms[0].target = "_blank";

    و لكني انبهك لشئ ... اذا فعلت ذلك يجب عليك في كل زر اخر علي الصفحة ان تضع هذا الكود في الحدث الخاص بال
    onclientclick الخاص به
    document.forms[0].target = "_self";

    و بالتالي اذا قررت استخدام هذا الكود سيتوجب عليك في كل زر ان تحدد في كود ال
    clientclick
    الخاص به اذا ما كان سيفتح في نفس الصفحة ام في صفحة جديدة ...

    اتمني ان اكون وضحت هذا الامر ...

    ردحذف
  3. انا اول مرة اعرف المعلومة ده

    جزاكم الله خيرا

    ردحذف