У меня есть условие, и я хочу отключить или включить мою кнопку actionLink.
Как мне это сделать?
@Html.ActionLink("Delete", "Delete", new { id = @Model.Id})
Спасибо,
У меня есть условие, и я хочу отключить или включить мою кнопку actionLink.
Как мне это сделать?
@Html.ActionLink("Delete", "Delete", new { id = @Model.Id})
Спасибо,
Если вы знаете на стороне сервера, что ссылка недоступна, просто отрисуйте сообщение о том, что действие недоступно:
@if(condition)
{
@Html.ActionLink("Delete", "Delete", new { id = @Model.Id})
}
else
{
<text>Action is not available</text>
}
В противном случае вы можете отключить только ссылку с помощью
Чтобы он работал в кросс-браузере: Должен ли тег HTML-привязки отличиться атрибутом отключен?
Чтобы отключить тег "a", вы можете сделать:
@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;
}
}
Возможно, вы можете создать свой собственный пользовательский интерфейс типа 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());
}
и использовать его в представлении
@Html.MyActionLink( // some parameters here )
Но я никогда не пробовал. Попробуйте найти что-то о MvcHtmlString в Google.