2013-02-12 62 views
9

Làm thế nào bạn sẽ sử dụng một Html.ActionLink để render liên kết sau -ASP.NET Razor C# Html.ActionLink để tạo liên kết rỗng

<a href="javascript:void(0);"></a> 

Nó có vẻ ngớ ngẩn để làm điều này, nhưng đôi khi tôi cần một liên kết mà có chức năng liên kết (con trỏ rollover, vv) nhưng không đi đâu cả. Và tôi muốn sử dụng một Html.ActionLink cho sự nhất quán mã.

Tôi đã thử các biến thể khác nhau của Html.ActionLink nhưng tôi tiếp tục nhận được thông báo về những thứ không được phép là rỗng.

+3

Nếu đó là tất cả những gì bạn cần trong liên kết, tại sao không chỉ sử dụng chính xác điều đó? Bỏ qua Html.ActionLink tất cả cùng nhau. Có điều gì đó specifc bạn cần từ Html.ActionLink? – Leniency

+0

đã đồng ý. chỉ cần sử dụng một neo –

+0

Tôi đã thử các biến thể khác nhau của 'Html.ActionLink' nhưng tôi tiếp tục nhận được thông báo về những thứ không được phép là rỗng. Tôi muốn sử dụng một 'Html.ActionLink' cho sự nhất quán mã, và tôi muốn một liên kết tồn tại, với bất cứ điều gì xảy ra khi nó được nhấp vào. Cảm ơn! –

Trả lời

13
@Html.ActionLink(" ", "", "", new {href="javascript:void(0)"}) 

sẽ làm như

<a href="javascript:void(0)"> </a> 
+0

Cảm ơn Joe. Nhưng vấn đề của tôi là tôi không muốn "Liên kết văn bản" và giải pháp của bạn cho tôi ** Giá trị không được rỗng hoặc trống. Tên tham số: linkText ** –

+1

Sẽ chỉ là một không gian làm việc? Nếu không, chúng tôi có thể thử một phương pháp trợ giúp tùy chỉnh. Ngoài sự tò mò, các con trỏ chuột được kích hoạt như thế nào được kích hoạt nếu không có nội dung để cuộn qua? – Joe

+0

Không gian trống đã hoạt động! Cảm ơn! Xin lỗi vì dopiness của tôi. Để trả lời câu hỏi của bạn, liên kết nằm trong 'div' có hình nền. –

6

Thay vì buộc ActionLink để làm một cái gì đó nó không được thực hiện cho, xem xét việc tạo phương pháp helper của riêng bạn:

public static class MyHtmlExtensions 
{ 
    public static MvcHtmlString EmptyLink(this HtmlHelper helper, string linkText) 
    { 
     var tag = new TagBuilder("a"); 
     tag.MergeAttribute("href", "javascript:void(0);"); 
     tag.SetInnerText(linkText); 
     return MvcHtmlString.Create(tag.ToString()); 
    } 
} 

nhập không gian tên thành của bạn xem và bạn sẽ có thể thực hiện việc này:

@Html.EmptyLink("My link text") 
Các vấn đề liên quan