2017-02-14 13 views
2

У меня есть список продуктов, и когда мне нужно что-то редактировать, я нажимаю кнопку редактирования справа от названия продукта. Как я могу сделать целочисленную целую строку.Нужна помощь с RAZOR

Теперь у меня есть <td><b>@Html.ActionLink(Products.Resources.Properties.Literals.Edit, "Edit", new { id = items[i].Template.Id })</b></td>

Но я хочу сделать все кликабельны.

+0

Вы должны приложить обработчик событий к '' в JavaScript Вы можете все еще интерполировать C# в этот JavaScript, чтобы обеспечить связь –

ответ

1

Для этого вам нужно всего лишь использовать javascript.

Использование чистого JavaScript вы можете добавить событие на элемент «TR» Вашего HTML:

<tr onclick="document.location='@Url.Action(Products.Resources.Properties.Literals.Edit, "Edit", new { id = items[i].Template.Id })'"> 
    <td><b>Edit</b></td>... 
</tr> 

Таким образом, вся строка теперь кликабельны. Использование JQuery вы можете сделать больше:

<tr data-link="@Url.Action(...)"> 
    <td><b>Edit</b></td> 
</tr> 

Ваш код JQuery должен выглядеть следующим образом:

$('tr[data-link]').on('click', function() { 
    document.location = $(this).attr('data-link'); 
}); 

Я думаю, что второе решение является наиболее элегантным и простым в реализации, когда это необходимо.

Надеюсь, это поможет.

0

Вам необходимо прикреплять обработчик click к tr - делая так, что tr ссылка была бы неправильной разметкой и не работает, так или иначе.

Существует несколько способов сделать это, и я не совсем уверен, как выглядит ваша настройка JS, поэтому я рекомендую посмотреть, что предлагают ваши рамки/библиотеки (например, если вы используете jQuery, посмотрите во что-то вроде:

$('tr').on('click', function($event) { 
    // ... 
}); 

удачи

+0

Это не отвечает на все вопросы - например, как вы получаете ссылку на javascript ... –