ฉันจะใช้คลาส CSS กับ Html.ActionLink ใน ASP.NET MVC ได้อย่างไร


104

ฉันกำลังสร้างแอปพลิเคชั่นASP.NET MVCโดยใช้VB.NETและฉันกำลังพยายามใช้คลาส css กับHtml.ActionLinkโค้ด:

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

แต่เมื่อฉันเรียกใช้รหัสฉันได้รับข้อผิดพลาดด้านล่าง:

ข้อความแสดงข้อผิดพลาดของคอมไพเลอร์: BC30988: คาดว่าจะพิมพ์หรือ "ด้วย"

ฉันยังใหม่กับMVCและไม่ค่อยมีเงื่อนงำว่าฉันกำลังทำอะไรอยู่ดังนั้นฉันจึงไม่เห็นว่ามีอะไรผิดปกติเนื่องจากฉันใช้รหัสจากตัวอย่างที่อื่น


ไม่มีลายเซ็นสำหรับเมธอด Html.ActionLink ที่มี (สตริงสตริงสตริงอ็อบเจ็กต์)
twk

มีการทำเช่นนี้โดยไม่ใช้คลาสนิรนามหรือไม่?
3Dave

คำตอบ:


48

มันคือ:

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

ใน VB.net คุณตั้งค่าประเภทนิรนามโดยใช้

new with {.class = "tab" }

และอีกประการหนึ่งพารามิเตอร์ที่สามของคุณควรเป็นวัตถุ (อาจเป็นประเภทที่ไม่ระบุตัวตนก็ได้เช่นกัน)


154

@ewomack มีคำตอบที่ดีสำหรับ C # เว้นแต่คุณจะไม่ต้องการค่าวัตถุเพิ่มเติม ในกรณีของฉันฉันใช้สิ่งที่คล้ายกับ:

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

19
หากคุณไม่ต้องการค่าเส้นทางคุณสามารถส่งผ่านnullเป็นอาร์กิวเมนต์ที่ 4 ได้:@Html.ActionLink("Delete", "DeleteList", "List", null, new { @class = "delete"})
xec

56

ใน C # มันยังทำงานกับ null เป็นพารามิเตอร์ที่ 4

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

สิ่งนี้มีประโยชน์เพราะเมื่อคุณเพิ่ม null คุณจะได้รับคำขอ url มาตรฐานและสะอาด
Sumanstm21

33

ไวยากรณ์นี้ใช้ได้กับฉันใน MVC 3 ด้วย Razor:

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

17

สิ่งนี้ใช้ได้กับ MVC 5

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

1
สำหรับใช้ใน MVC 5 ActionLink ที่มีพารามิเตอร์: @ Html.ActionLink ("Text of the link", "Action", "Controller name", new {myParam = "XXX"}, new {@style = "color: black" })
mggSoft

@mggSoft ใช่ !! สิ่งนี้ได้ผลสำหรับฉันโดยใช้ MVC 5 ขอบคุณ
Clancinio

3

ใน VB.NET

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

สิ่งนี้จะกำหนด "ลิงก์" คลาส css ให้กับติดต่อเรา

สิ่งนี้จะสร้าง HTML ต่อไปนี้:

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

0

ลบ c # ... นี่คือ vb.net

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

ไวยากรณ์ไม่ถูกต้องสำหรับ Vb.net และไม่มีตัวสร้างที่มีลายเซ็นนี้
Eduardo Molteni

sorrry ... ไปโดยปริยาย ... ฉันเอา c # .. ควรระวังมากกว่านี้ในการอ่านคำถาม ..
rajesh pillai
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.