Làm cách nào để áp dụng một lớp CSS cho Html.ActionLink trong ASP.NET MVC?


104

Tôi đang xây dựng một ứng dụng ASP.NET MVC , sử dụng VB.NET và tôi đang cố gắng áp dụng một lớp css cho một Html.ActionLinkbằng mã:

<%=Html.ActionLink("Home", "Index", "Home", new {@class = "tab" })%>

Nhưng khi tôi chạy mã, tôi nhận được lỗi dưới đây:

Thông báo lỗi trình biên dịch: BC30988: Loại hoặc 'Với' được mong đợi.

Tôi mới sử dụng MVC và thực sự không có nhiều manh mối về những gì tôi đang làm nên tôi không thể thấy có gì sai ở đó vì tôi đang sử dụng mã dựa trên một ví dụ ở nơi khác.


Không có chữ ký nào như vậy cho phương thức Html.ActionLink với (chuỗi, chuỗi, chuỗi, đối tượng).
twk 18/09/09

Có cách nào để làm điều này mà không sử dụng một lớp ẩn danh không?
3Dave

Câu trả lời:


48

Nó là:

<%=Html.ActionLink("Home", "Index", MyRouteValObj, new with {.class = "tab" })%>

Trong VB.net, bạn đặt một kiểu ẩn danh bằng cách sử dụng

new with {.class = "tab" }

và, như đã chỉ ra, tham số thứ ba của bạn phải là một đối tượng (cũng có thể là một kiểu ẩn danh).


153

@ewomack có một câu trả lời tuyệt vời cho C #, trừ khi bạn không cần thêm giá trị đối tượng. Trong trường hợp của tôi, tôi đã sử dụng một cái gì đó tương tự như:

@Html.ActionLink("Delete", "DeleteList", "List", new object { },
new { @class = "delete"})

18
Nếu bạn không cần các giá trị tuyến đường, bạn cũng có thể chuyển nulllàm đối số thứ 4:@Html.ActionLink("Delete", "DeleteList", "List", null, new { @class = "delete"})
xec

56

Trong C #, nó cũng hoạt động với tham số thứ 4 là null.

@Html.ActionLink( "Front Page", "Index", "Home", null, new { @class = "MenuButtons" })

Đây là hữu ích bởi vì khi bạn thêm null, bạn đang nhận được một yêu cầu url tiêu chuẩn và sạch
Sumanstm21

33

Cú pháp này làm việc cho tôi trong MVC 3 với Razor:

@Html.ActionLink("Delete", "DeleteList", "List", new { ID = item.ID, ListID = item.id }, new {@class= "delete"})

17

Điều này hoạt động cho MVC 5

@Html.ActionLink("LinkText", "ActionName", new { id = item.id }, new { @class = "btn btn-success" })

Để sử dụng trong Liên kết hành động MVC 5 với các tham số: @ Html.ActionLink ("Văn bản của liên kết", "Hành động", "Tên bộ điều khiển", mới {myParam = "XXX"}, mới {@style = "color: black" })
mggSoft

3

Trong VB.NET

<%=Html.ActionLink("Contact Us", "ContactUs", "Home", Nothing, New With {.class = "link"})%>

Điều này sẽ chỉ định "liên kết" lớp css cho Liên hệ với chúng tôi.

Điều này sẽ tạo ra HTML sau:

<a class="link" href="www.domain.com/Home/ContactUs">Contact Us</a>

0

đã xóa c # ... đây là vb.net

<%=Html.ActionLink("Home", "Index", "Home", New With {.class = "tab"}, Nothing)%>

Cú pháp xấu cho Vb.net và không có constructor với chữ ký này
Eduardo Molteni

sorrry ... theo mặc định ... tôi mất c # .. nên đã cẩn thận hơn đọc câu hỏi ..
Rajesh Pillai
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.