এএসপি.নেট এমভিসিতে রুটলিঙ্ক এবং অ্যাকশনলিঙ্কের মধ্যে পার্থক্য কী?


120

আমি মনে করি যে শিরোনামটি এটির পরিমাণে যথেষ্ট পরিমাণে যুক্ত হয়েছে:

এএসপি.নেট এমভিসির মধ্যে RouteLink()এবং এর মধ্যে পার্থক্য কী ActionLink()?

যেমন আপনি কখন ব্যবহার করবেন Html.RouteLink()এবং কখন Html.ActionLink()আপনার দৃষ্টিতে ব্যবহার করবেন ?

উত্তর:


78

অ্যাকশন এবং রুটের সাথে 1: 1 টি সম্পর্ক থাকতে হবে না।

অ্যাকশন লিঙ্কটি প্রথম নামের সাথে ক্রিয়া নামের সাথে মিল রেখে রুটে ব্যবহার করে কোনও ক্রিয়াকলাপটি পেতে URL টি উত্পন্ন করবে।

নাম বা রুটের মান দ্বারা নির্ধারিত নির্দিষ্ট রুটে একটি রুটলিঙ্ক একটি URL তৈরি করবে।


একটি দুর্দান্ত ব্লগ পোস্টের জন্য +1। সত্যিই সহজ। এবং দেখায় সেখানে অনেকগুলি সম্ভাবনা রয়েছে। এম এস ছেলেরা শুধুমাত্র দ্রুত প্রয়োগ করা উচিত। লোকেরা বরং অভিনব ল্যাম্বডাকে সবচেয়ে ধীরে ব্যবহার করে।
রবার্ট কোরিটনিক

আরে ধন্যবাদ তবে আমি মনে করি লিঙ্কটি ভেঙে যায়নি। প্লিজ আপনি আবার আমাকে লিঙ্কটি সরবরাহ করবেন ধন্যবাদ
ব্যবহারকারীর 100656544

5
আমরা উদাহরণ পেতে পারি?
মেইলরটেলর

67

প্রকৃতপক্ষে, দুটি পদ্ধতি থেকে আউটপুট একই, তবে এটি কিছুটা ভিন্ন উপায়ে উত্পন্ন হয়:

Html.ActionLink()অ্যাকশনলিঙ্কগুলি দ্রুত জেনারেট করা সহজ করে তোলে এবং যা রেন্ডার করা হয় তার উপর আপনাকে প্রাথমিক নিয়ন্ত্রণ দেয়। আপনার যদি খুব বেশি রুট না থাকে বা খুব বেশি বা খুব নির্দিষ্ট তথ্য দেওয়ার প্রয়োজন না হয় তবে এটি কাজটি ঠিকঠাক করবে।

Html.RouteLink()পদ্ধতি কিছুটা ভিন্ন আর্গুমেন্ট লাগে, এবং এইভাবে পথ জিনিষ পরিচালনা করা হয় উপর একটু বেশি বিস্তারিত নিয়ন্ত্রণ দেয়। আমার পরিস্থিতি যখন একটু বেশি জটিল হয় বা যখন আমার আরও বিস্তারিত রুটের কাঠামো থাকে তখন আমি এই পদ্ধতিটি ব্যবহার করি।
একটি উদাহরণ একটি সাম্প্রতিক প্রকল্প যেখানে আমার (নমনীয়তার জন্য) পরিবর্তে বেশ কয়েকটি বিভিন্ন রুট ছিল, যেগুলি একদম জটিল ছিল যা প্রচুর তথ্যের জন্য অনুমতি দেয়। সুতরাং, আমি একই কন্ট্রোলারের জন্য চার বা পাঁচটি রুট দিয়ে শেষ করেছি, সমস্তই একটি ডিফল্ট ক্রিয়া নির্দিষ্ট করা আছে। আমি বেশিরভাগ RouteLinkসংস্করণটি ব্যবহার করেছি , কারণ যখন আমি কোনও রুটের নাম নির্দিষ্ট করেছি, তখন ডিফল্ট প্যারামিটারগুলি স্বয়ংক্রিয়ভাবে প্রবেশ করা হত।

আপনি যেমন মনে করেন তেমন সেগুলি ব্যবহার করুন এবং তারা আপনার প্রকল্পে অর্থবোধ করে। তাদের উভয়েরই সত্যিই কোনও উল্টোপাল্টা / খারাপ দিক নেই (এটি অন্য কোনওটির সাথে মিলে না ...)।


19

এখানে প্রদত্ত অন্যান্য উত্তরের পাশাপাশি, রুটলিংকটি কিছুটা দ্রুত, এবং ভুল রুটের সাথে কখনও মিলতে পারে না কারণ আপনি নিজের রাটিং টেবিলটি পরিবর্তন করেছেন।



12

রুটলিঙ্কটি একটি রুটের নাম নেয়, সুতরাং যদি আপনার রুটের নামগুলি নির্ভরযোগ্য এবং মোটামুটি অনন্য হয় তবে ব্যবহারের নামটির পরিবর্তন করতে গেলেও এটি একই হবে। পরিবর্তে সুনির্দিষ্ট নিয়ন্ত্রকের একটি নির্দিষ্ট ক্রিয়ায় লিংকগুলি। আমি কোন ধরণের লিঙ্ক পরে আছি তার উপর নির্ভর করে আমি আমার দৃষ্টিতে উভয়ই ব্যবহার করি!

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.