2012-03-23 24 views
10

我有条件,我想禁用或启用我的actionLink按钮。MVC3如何禁用/启用ActionLink

我该怎么做?

@Html.ActionLink("Delete", "Delete", new { id = @Model.Id})

感谢,

回答

13

要禁用 “” 标签,你可以这样做:

@Html.ActionLink("Delete", "Delete", new { id = @Model.Id}, new { onclick = "javascript:return false;" }) 

或者你可以使用jQuery:

@Html.ActionLink("Delete", "Delete", new { id = @Model.Id}, new { class = "linkdisabled" }) 

CSS:

.linkdisabled{ 
    cursor:text; 
} 

JQuery的:

$function(){ 
    $(".linkdisabled").click(function(){ 
     return false; 
    } 
} 
+0

嗨,很好的解决方案..但有什么办法让文字不能点击。现在它看起来像一个链接,但它不会去任何地方。那么有什么方法可以改变它的外观。谢谢 – Scorpion 2012-04-05 15:40:36

+0

你可以添加一个样式属性或使用一个CSS类来做到这一点: – 2012-05-21 18:45:55

+0

谢谢!好的解决方案 – 2014-10-07 15:10:08

3

也许你可以创建自己的类型MvcHtmlString

public static MvcHtmlString MyActionLink(this HtmlHelper helper, bool isClickable, string altText, RouteValueDictionary routeValues, object htmlAttributes = null) 
{ 
    // some logic with isClickale parameter here 
    if(isClickable == false) 
    {} 

    return new MvcHtmlString(helper.ToHtmlString()); 
} 

的UI,并在您查看使用

@Html.MyActionLink(// some parameters here) 

但我从来没有尝试过。尝试在Google上找到关于MvcHtmlString的内容。