HTML.ActionLink vs Url.Aksi di ASP.NET Cukur

Apakah ada perbedaan antara HTML.ActionLink vs Url.Aksi atau mereka hanya dua cara untuk melakukan hal yang sama?

Ketika saya harus memilih satu atas yang lain?

Larutan

Ya, ada perbedaan. Html.ActionLink menghasilkan <a href=".."></a> sedangkan tag Url.Aksi kembali hanya sebuah url.

Misalnya:

@Html.ActionLink("link text", "someaction", "somecontroller", new { id = "123" }, null)

menghasilkan:

<a href="/somecontroller/someaction/123">link text</a>

dan Url.Tindakan("beberapaaksi", "somecontroller", baru { id = "123" }) menghasilkan:

/somecontroller/someaction/123

Ada juga Html.Aksi yang mengeksekusi seorang anak controller tindakan.

Komentar (8)

Html.ActionLink menghasilkan <a href=".."></a> tag secara otomatis.

Url.Aksi hanya menghasilkan url.

Misalnya:

@Html.ActionLink("link text", "actionName", "controllerName", new { id = "" }, null)

menghasilkan:

<a href="/controllerName/actionName/id">link text</a>

dan

@Url.Action("actionName", "controllerName", new { id = "" }) 

menghasilkan:

/controllerName/actionName/

Terbaik plus point yang saya suka adalah menggunakan Url.Tindakan(...)

Anda membuat tag anchor oleh anda sendiri di mana anda dapat mengatur sendiri terkait teks dengan mudah bahkan dengan beberapa tag html.


<a href="@Url.Action("actionName", "controllerName", new { id = "id" })">
Komentar (0)
<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>
}

Dalam contoh di atas anda dapat melihat bahwa Jika saya secara khusus perlu sebuah tombol untuk melakukan beberapa tindakan, saya harus melakukannya dengan @Url.Tindakan sedangkan jika saya hanya ingin link saya akan menggunakan @Html.ActionLink. Intinya adalah ketika anda harus menggunakan beberapa elemen(HTML) dengan tindakan url yang digunakan.

Komentar (0)

@HTML.ActionLink menghasilkan HTML tag anchor. Sementara @Url.Aksi menghasilkan URL untuk anda. Anda dapat dengan mudah memahaminya dengan;

// 1. <a href="/ControllerName/ActionMethod">Item Definition</a>
@HTML.ActionLink("Item Definition", "ActionMethod", "ControllerName")

// 2. /ControllerName/ActionMethod
@Url.Action("ActionMethod", "ControllerName")

// 3. <a href="/ControllerName/ActionMethod">Item Definition</a>
<a href="@Url.Action("ActionMethod", "ControllerName")"> Item Definition</a>

Kedua pendekatan yang berbeda dan itu benar-benar tergantung pada kebutuhan anda.

Komentar (0)

Anda dapat dengan mudah hadir Html.ActionLink sebagai tombol dengan menggunakan CSS style. Misalnya:

@Html.ActionLink("Save", "ActionMethod", "Controller", new { @class = "btn btn-primary" })
Komentar (2)

Saya menggunakan kode berikut untuk membuat Tombol dan itu bekerja untuk saya.

<input type="button" value="PDF" onclick="location.href='@Url.Action("Export","tblOrder")'"/>
Komentar (1)