কীভাবে এএসপি.নেট কোর এমভিসিতে এসপি ট্যাগ হেল্পারে লিঙ্ক প্যারামিটার যুক্ত করা যায়


107

আমার এএসপি.নেট এমভিসি 1-5- এর সাথে প্রচুর অভিজ্ঞতা আছে । এখন আমি এএসপি.নেট কোর এমভিসি শিখি এবং পৃষ্ঠাটিতে লিঙ্ক দেওয়ার জন্য একটি পরামিতি পাস করতে হবে। উদাহরণস্বরূপ আমি নিম্নলিখিত ক্রিয়া আছে

 [HttpGet]
 public ActionResult GetProduct(string id)
 {
      ViewBag.CaseId = id;
      return View();
 }

আমি কীভাবে ট্যাগ হেল্পার ব্যবহার করে এই ক্রিয়াটির লিঙ্কটি প্রয়োগ করতে পারি?

<a asp-controller="Product" asp-action="GetProduct">ProductName</a>

উত্তর:


206

আপনি asp-route-নিজের রুট পরিবর্তনশীল নামের উপসর্গ করতে বৈশিষ্ট্য উপসর্গ ব্যবহার করতে পারেন ।

উদাহরণ:

<a asp-controller="Product" asp-action="GetProduct" asp-route-id="10"> ProductName</a>

4
আমার যদি একাধিক প্যারামিটার থাকে তবে আমাকে এই পদ্ধতিটি দিয়ে সমস্ত কিছু যুক্ত করতে হবে?
এলভিন মামাডভ

40
@ এলভিন-ম্যামাদভ, ইউপ, asp-route-yourParamNameউদাহরণস্বরূপ:asp-route-foo="bar"
অ্যালেক্স

4
@ এলভিন ম্যামমাদভ asp-route-yourParamNameঅতিরিক্ত ইনপুট পরামিতি সম্পর্কিত আপনার মন্তব্যটি খুব সহায়ক হয়েছিল। ধন্যবাদ
নাম

4
তোমার উদাহরণ হিসাবে এইচটিএমএল জেনারেট করবে @Alex: <a href="https://stackoverflow.com/Product/GetProduct/10">ProductName</a>প্রশ্ন : অ্যাঙ্গার ট্যাগ হেল্পার ব্যবহার করার সময় আমরা কীভাবে প্যারামিটারের মান (উদাহরণস্বরূপ 10) পেতে পারি jquery? `
Nam

4
@nam আপনি এএসপি সহায়তার পাশে একটি ডেটা অ্যাট্রিবিউট যুক্ত করতে পারেন। <a asp-route-id="@item.Id" data-id="@item.Id" />এবং তারপরে আইডিটি $('a').attr('data-id'):) এর সাথে পান
স্টেইন শ্যাট

19

আপনি নিম্নলিখিত সিনট্যাক্স প্রয়োগ করতে চাইতে পারেন।

<a asp-controller="Member"
   asp-action="Edit"
   asp-route-level="3"
   asp-route-type="full"
   asp-route-id="12">Click me</a>

এটি কল রুটকে এভাবে উত্পাদন করবে।

/ সদস্য / সম্পাদনা / 3 / পূর্ণ / 12

তারপরে আপনি নীচের মত পদ্ধতিতে এটি গ্রহণ করতে পারেন।

[Route({level}/{type}/{id})]
public IActionResult Edit(int level, string type, int id) { ... }

যদিও, পদ্ধতিটি অলঙ্করণের পদ্ধতিটি এমভিসিতে প্রয়োজন হয় না, এটি পদ্ধতিতে পরামিতিগুলিতে পাস হওয়া লিঙ্ক থেকে বৈশিষ্ট্যগুলি কীভাবে আবদ্ধ করবেন তা আরও স্পষ্টভাবে দেখায়।


আমার পরিবর্তে /Member/Edit/3/full/12এটি উত্পন্ন/Member/Edit/3?type=full&id=12
আরিফ

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

0

আপনি যদি গ্রিডের লিঙ্কে ভেরিয়েবল আইডি রাখতে চান বা কোডের নীচে টেবিল ব্যবহার করতে পারেন

[HttpGet]
[Route("/Product/GetProduct/{id}")]
 public ActionResult GetProduct(string id)
 {
      ViewBag.CaseId = id;
      return View();
 }


 <a  asp-controller="Product" asp-action="GetProduct" asp-route-id="@item.id" >ProductName</a>

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