Вы можете использовать простую функцию JQuery для переключения поля между звездочками и значением реального пароля. Хитрость заключается в том, чтобы убедиться, что каждое поле пароля уникально идентифицируемо, поэтому вы нажимаете только один пароль, когда нажимаете кнопку (я предполагаю, что на экране будет несколько паролей, поскольку он находится в таблице)
Изменить foreach l oop к этому, так что у вас есть доступ к индексу. Это дает вам простой доступ к уникальному значению для каждой строки:
foreach (var item in Model.Select((value, i) => new { i, value }))
{
// You access the values like this now
var value = item.value;
var index = item.i;
}
См. Этот ответ для справки (ответ под утвержденным ответом): Как получить индекс текущей итерации a foreach l oop?
В таблицу html введите:
<td>
<span id="password-@item.i" style="display: none;">@item.value.Password</span>
<span id="hidden-password-@item.i">*******</span>
<button onclick="showHidePassword('@item.i')">Toggle</button>
</td>
И где-то на странице добавьте следующее javascript:
function showHidePassword(i) {
if ($('#password-' + i).is(':visible')) {
$('#password-' + i).hide();
$('#hidden-password-' + i).show();
} else {
$('#password-' + i).show();
$('#hidden-password-' + i).hide();
}
}
Надеюсь, это поможет. Чтобы упростить повторное использование, вы можете переместить его в html метод расширения в зависимости от того, как вы строите остальную часть страницы