سؤال

وأعتقد أن مبالغ عنوان حد كبير عنه:

ما الفرق بين RouteLink() وActionLink() في ASP.NET MVC؟

وأي بمعنى. متى يمكنك استخدام Html.RouteLink() ومتى كنت تستخدم Html.ActionLink() من وجهة نظرك؟

هل كانت مفيدة؟

المحلول

والعمل وطرق لا يجب أن يكون لديك 1: العلاقة 1

وActionLink سيولد URL للوصول الى هذا العمل باستخدام الطريق مطابقة الأول بالاسم العمل.

وRouteLink سوف تولد URL إلى مسار محدد تتحدد إما بالاسم أو طريق القيم.

نصائح أخرى

والواقع، والإخراج من الطريقتين هو نفسه، ولكن يتم إنشاء بطرق مختلفة قليلا:

Html.ActionLink() يجعل من السهل لتوليد ActionLinks بسرعة، وسوف تعطيك سيطرة الأساسية خلال ما يتم تقديمها. إذا لم يكن لديك الكثير من الطرق، أو لا تحتاج إلى إعطاء الكثير من المعلومات أو محددة جدا، وهذا سوف قيام بهذا العمل على ما يرام.

Html.RouteLink() طريقة يأخذ حجج مختلفة قليلا، وبالتالي يمنحك تحكم أكثر تفصيلا ما يزيد قليلا على الطريقة التي يتم بها التعامل مع الأمور. أنا أميل إلى استخدام هذا الأسلوب عندما بلدي السيناريو هو قليلا أكثر تعقيدا، أو عندما يكون لها هيكل الطريق أكثر تفصيلا.
مثال واحد هو مشروع حديث حيث بدلا كان (المرونة) عدة طرق مختلفة، التي كانت كلها بسيطة جدا، من واحد معقد واحد من شأنه أن يسمح لكثير من المعلومات. وهكذا، انتهى بي الأمر مع أربعة أو خمسة طرق لنفس وحدة تحكم، مع كل عمل الافتراضي المحدد. I تستخدم في الغالب النسخة RouteLink، لأنه عندما كنت تحديد اسم الطريق، تم إدخال المعلمات الافتراضية تلقائيا.

استخدم لهم كما كنت أشعر، وكما كانت منطقية إلى المشروع. في الحقيقة هناك رأسا على عقب / الجانب السلبي لأي منهما (الذي لا يضاهيه بعض الدول الاخرى ...).

وبالإضافة إلى إجابات أخرى نظرا هنا، RouteLink هو قليلا أسرع، ولا يمكن أن تضاهي أبدا الطريق الخطأ لأنك غيرت جدول التوجيه الخاص بك.

وRouteLink يأخذ اسم الطريق، حتى إذا كانت أسماء مسارك موثوقة وفريدة من نوعها إلى حد ما فإن هذا سوف تكون هي نفسها حتى لو كان اسم الإجراء لاستخدامها التغييرات. الروابط ActionLink إلى اتخاذ إجراءات محددة من وحدة تحكم محدد بدلا من ذلك. يمكنني استخدام كلا في وجهات نظري، وهذا يتوقف على نوع من الارتباط أنا بعد!

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top