Скрыть строку, нажав на ActionLink в MVC 4

Мне было интересно, есть ли какой-нибудь способ скрыть одну строку, если в MVC нажата ссылка действия, но все равно пройти через ссылку действия. Я просто пытаюсь скрыть это на странице клиентов.

Как здесь, например. Когда пользователь нажимает на ссылку "Добавить друга", вся строка будет скрыта. Должен ли я сделать это с JavaScript, например?

введите описание изображения здесь

Это мой текущий взгляд:

@model IEnumerable<DesignedAppNew.Models.UserProfile>

@{
    ViewBag.Title = "ListAllFriends";
}

<script src="~/Scripts/jquery-1.8.2.min.js" type="text/javascript"></script>

<script>
    $(document).ready(function () {
        $("ID").click(function () {
            $(this).closest("tr").hide();
        });
    });
</script>

<h2>Add some new friends:</h2>

<table>

@foreach (var item in Model) {
    <tr>
        <td>
            @Html.DisplayFor(modelItem => item.UserId) 
        </td>
        <td>
            @Html.DisplayFor(modelItem => item.UserName) 
        </td>
        <td>
            @Html.ActionLink("Add Friend", "AddNewFriend", new { id = "ID" })
        </td>
    </tr>
}

</table>

2 ответа

Решение

Вы можете использовать jquery для этого как:-

 $(document).ready(function(){
   $(".friend").click(function(){
      $(this).closest("tr").hide();
   });
});

В вашем обновлении все ссылки на действия будут иметь одинаковый идентификатор, это неправильно:

@Html.ActionLink("Add Friend", "AddNewFriend", null, new { @class="friend" })

Вы не можете повторить ID в своем HTML, попробуйте это;

@Html.ActionLink("Add Friend", "AddNewFriend", null, new { @class = "addfriend" })

$(document).ready(function () {
    $(".addfriend").click(function (event) {
        event.preventDefault();
        $(this).closest("tr").hide();
    });
});
Другие вопросы по тегам