Как вставить переменную JavaScript в бритву? Я увеличиваю counter
на количество раз, когда пользователь нажимает кнопку insert-comment
, а затем у меня есть функция JavaScript, которая добавляет новые поля ввода для Comment
. Тем не менее, у меня возникли проблемы с правильной установкой счетчика в качестве индекса массива, потому что я получаю сообщение «счетчик имен» не существует в текущем контексте ».Как вставить переменную JavaScript в бритву?
Модель:
public List<String> Comment {get; set;}
Вид:
var counter= 0;
jQuery(function($) {
$('#insert-comment').on("click", function(e) {
$(this).closest('tr').prev('tr').find('ul')
.append(
'<li>' +
'@Html.EditorFor(model => model.Comment[counter], new { htmlAttributes = new { @class = "form-control col-xs-12" } })' +
'</li>');
});
counter++;
});
Вы не можете. Razor обрабатывается на сервере до запуска любого JS. После этого Razor больше не работает. Вместо этого вы, вероятно, захотите иметь локальную копию 'Comment', которую вы манипулируете. 'var comments = @ Html.Raw (Json.Encode (model.Comment));' –