Вы получите ошибку Invalid or unexpected token
в браузере, и если вы проверите HTML, который вы генерируете, то увидите, что вы визуализируете
<input ... onkeyup="myFuncWithRazorCounter('My Counter: ' + @counter)" ... >
Обратите внимание, что @counter
незаменено фактическим значением counter
.
. Вы можете решить эту проблему, используя
@Html.TextBox("name_" + counter, item.name, new
{
@class = "form-control",
@onkeyup = "myFuncWithRazorCounter(" + counter + ")",
})
Обратите внимание, что @
не требуется.Затем измените сценарий на
function myFuncWithRazorCounter(counter) {
var myCounter = counter;
console.log('My Counter: ' + counter);
}
. В качестве примечания вы создаете атрибуты name
, которые не имеют отношения к вашей модели и не будут привязываться к вашей модели при отправке формы.Чтобы понять, как создавать элементы управления формой для коллекции, см. этот ответ .