Не могу сделать редирект на другую страницу.

276
03 сентября 2017, 00:44

Есть таблица с записями, по нажатию на запись должна открываться новая страница с возможностью редактирования.

foreach (var t in Model)
            {
                <tr class="task-row-link" title="Edit" data-link="@Url.Action("Edit", new { id = t.Id })">
                    <td class="centered"><p>@t.Id</p></td>
                    <td class="centered"><p>@t.Title</p></td>
                </tr>
            }

До метода действие не доходит, но если в ручную вбить url .../Edit/1 все работает.

Answer 1

Средствами только html не получится из строки сделать ссылку, так как тег tr нельзя оборачивать в тег ссылки.

Добавьте немного javascript)

С использованием jQuery:

foreach (var t in Model)
            {
                <tr class="task-row-link" title="Edit" data-link="@Url.Action("Edit", new { id = t.Id })">
                    <td class="centered"><p>@t.Id</p></td>
                    <td class="centered"><p>@t.Title</p></td>
                </tr>
            }
<script>
    jQuery(document).ready(function($) {
        $(".task-row-link").click(function() {
            window.location = $(this).data("link");
        });
    });
</script>
Answer 2

Вышел из ситуации так :

$('tr[data-link]').on('click', function (event) {
    if (!$(event.target).is('a,input,button')) {
        window.location = $(this).attr('data-link');
    }
});
READ ALSO
IntelliSense при написании разметки

IntelliSense при написании разметки

Когда пишу разметку в visual studio в приложениях на wpf, то заметил, что нет автодополнения в тех случаях когда пишу свойства, например здесь

307
масштабируемость GridView

масштабируемость GridView

Добрый день,

292
if \ else vs. switch \ case в C#

if \ else vs. switch \ case в C#

Что лучше использовать: if\else или switch\case?

454
Удаление идентичных элементов в Dictionary

Удаление идентичных элементов в Dictionary

В y есть элементы name Если yname != ключу в котором лежит лист, то удали этот элемент из листа

331