HTML.ActionLink
বনামের মধ্যে কোনও পার্থক্য আছে Url.Action
বা সেগুলি একই জিনিসটি করার কেবল দুটি উপায়?
আমি কখন অন্যের চেয়ে বেশি পছন্দ করব?
HTML.ActionLink
বনামের মধ্যে কোনও পার্থক্য আছে Url.Action
বা সেগুলি একই জিনিসটি করার কেবল দুটি উপায়?
আমি কখন অন্যের চেয়ে বেশি পছন্দ করব?
উত্তর:
হ্যাঁ, একটি পার্থক্য আছে। Html.ActionLink
একটি <a href=".."></a>
ট্যাগ তৈরি করে যেখানে Url.Action
কেবল একটি url দেয়।
উদাহরণ স্বরূপ:
@Html.ActionLink("link text", "someaction", "somecontroller", new { id = "123" }, null)
উত্পন্ন:
<a href="/somecontroller/someaction/123">link text</a>
এবং Url.Action("someaction", "somecontroller", new { id = "123" })
উত্পন্ন:
/somecontroller/someaction/123
রয়েছে Html.Action যা একটি শিশু নিয়ামক কর্ম সঞ্চালন করে।
<a>
। আপনার যখন কেবল একটি ইউআরএল তৈরি করতে হবে তখন url.Action ব্যবহার করুন (এটি একটি নিয়ামক ক্রিয়ায়ও ব্যবহৃত হতে পারে)।
Url.Action
তুলনায় অনেক বেশি পারফরম্যাট Html.ActionLink
। আমার কাছে 6,000 আইটেমের একটি তালিকা ছিল যা 2 টি ছিল Html.ActionLinks
। তালিকাটি রেন্ডার করতে 6,600 মিমি লাগল। Html.ActionLinks
এটি ছাড়া এটি 52ms নিয়েছিল। Url.Action
এটি ব্যবহার করে 270 মিমি নিয়েছে। মঞ্জুর, 6000 আইটেম একটি বৃহত তালিকা, কিন্তু ভেবেছি আমি এটি ভবিষ্যতের রেফারেন্সের জন্য যুক্ত করব।
Html.ActionLink
<a href=".."></a>
স্বয়ংক্রিয়ভাবে একটি ট্যাগ উত্পন্ন করে ।
Url.Action
শুধুমাত্র একটি ইউআরএল জেনারেট করে।
উদাহরণ স্বরূপ:
@Html.ActionLink("link text", "actionName", "controllerName", new { id = "<id>" }, null)
উত্পন্ন:
<a href="/controllerName/actionName/<id>">link text</a>
এবং
@Url.Action("actionName", "controllerName", new { id = "<id>" })
উত্পন্ন:
/controllerName/actionName/<id>
আমার পছন্দ হওয়া সেরা প্লাস পয়েন্টটি ব্যবহার করা হচ্ছে Url.Action(...)
আপনি নিজের দ্বারা অ্যাঙ্কার ট্যাগ তৈরি করছেন যেখানে আপনি নিজের লিঙ্কযুক্ত পাঠ্যটি সহজেই অন্য কোনও এইচটিএমএল ট্যাগের সাহায্যে সেট করতে পারেন।
<a href="@Url.Action("actionName", "controllerName", new { id = "<id>" })">
<img src="<ImageUrl>" style"width:<somewidth>;height:<someheight> />
@Html.DisplayFor(model => model.<SomeModelField>)
</a>
<p>
@Html.ActionLink("Create New", "Create")
</p>
@using (Html.BeginForm("Index", "Company", FormMethod.Get))
{
<p>
Find by Name: @Html.TextBox("SearchString", ViewBag.CurrentFilter as string)
<input type="submit" value="Search" />
<input type="button" value="Clear" onclick="location.href='@Url.Action("Index","Company")'"/>
</p>
}
উপরের উদাহরণে আপনি দেখতে পাচ্ছেন যে কিছু ক্রিয়া করার জন্য যদি আমার বিশেষভাবে একটি বোতামের প্রয়োজন হয় তবে আমাকে এটি @ উরল.অ্যাকশন দিয়ে করতে হবে তবে আমি যদি একটি লিঙ্ক চাই তবে আমি @ এইচটিএমএল.অ্যাকশনলিঙ্কটি ব্যবহার করব। মূল বিষয়টি হল যখন আপনাকে অ্যাকশন ইউআরএল সহ কিছু উপাদান (এইচটিএমএল) ব্যবহার করতে হবে।
@HTML.ActionLink
উত্পন্ন একটি HTML anchor tag
। আপনার জন্য @Url.Action
একটি উত্পন্ন করার সময় URL
। আপনি সহজেই এটি বুঝতে পারবেন;
// 1. <a href="https://stackoverflow.com/ControllerName/ActionMethod">Item Definition</a>
@HTML.ActionLink("Item Definition", "ActionMethod", "ControllerName")
// 2. /ControllerName/ActionMethod
@Url.Action("ActionMethod", "ControllerName")
// 3. <a href="https://stackoverflow.com/ControllerName/ActionMethod">Item Definition</a>
<a href="@Url.Action("ActionMethod", "ControllerName")"> Item Definition</a>
এই উভয় পন্থা পৃথক এবং এটি সম্পূর্ণরূপে আপনার প্রয়োজনের উপর নির্ভর করে।
আপনি উপযুক্ত সিএসএস স্টাইল ব্যবহার করে সহজেই এইচটিএমএল.অ্যাকশনলিঙ্কটি একটি বোতাম হিসাবে উপস্থাপন করতে পারেন । উদাহরণ স্বরূপ:
@Html.ActionLink("Save", "ActionMethod", "Controller", new { @class = "btn btn-primary" })
আমি বাটন তৈরি করতে নীচের কোডটি ব্যবহার করেছি এবং এটি আমার পক্ষে কাজ করেছে।
<input type="button" value="PDF" onclick="location.href='@Url.Action("Export","tblOrder")'"/>
Html.ActionLink
এগুলি উত্পন্ন করতে ব্যবহার করুন। এই জাতীয় মাইক্রো অপ্টিমাইজেশন করার চেষ্টা করবেন না। আপনি আপনার দর্শনগুলিতে কুরুচিপূর্ণ কোডটি শেষ করবেন।