Tôi có mã này và muốn thêm một lớp vào liên kết. Có thể làm điều này trong MVC3 không?
Html.ActionLink("Create New", "Create")
Câu trả lời:
Có, bạn chỉ có thể thêm một tham số khác với đối tượng đại diện cho lớp css:
Html.ActionLink("Create New", "Create", CONTROLLERNAME, null, new { @class= "yourCSSclass"} )
Nó có thể được dịch thành:
Html.ActionLink(link text, action name, controller name, route values object, html attributes object)
Biên tập:
Để thêm các kiểu tùy chỉnh, hãy sử dụng cái này:
Html.ActionLink(
"Create New",
"Create",
CONTROLLERNAME,
null,
new { @class= "yourCSSclass", @style= "width:100px; color: red;" }
)
@Html.ActionLink("ClickMe", // link text
"Index", // action name
"Home", // controller
new { id = 2131 }, // (optional) route values
new { @class = "someClass" }) // html attributes
@style
là thực hành xấu. IMO nó cũng tệ như sử dụng <div style="color:red;">
. Sử dụng một lớp CSS.
Theo tài liệu , điều này sẽ thực hiện thủ thuật:
Html.ActionLink("LinkText", "Action", "Controller", new { }, new {@class="css class"})
Chỉnh sửa: Cảm ơn bạn đã chú ý đến Dampe, tôi đã cập nhật mẫu mã.
Bạn có thể sử dụng quá tải ActionLink lấy tham số htmlAttributes để thêm một lớp vào phần tử được tạo:
Html.ActionLink("Create New", "Create", new {}, new { @class = cssClass });