Проблема, скорее всего, связана с вашим Name:
литералом. Поскольку вы находитесь внутри блока кода, Razor предполагает, что следующие строки являются строками кода. Вы можете избежать этого, добавив Name:
к @:
или обернув его <text></text>
. Текстовый тег является специальным для Razor и будет удален, когда он будет обработан механизмом просмотра.
Причина, по которой ваш <input>
будет в порядке, заключается в том, что Razor распознает, что это тег разметки, и запишет его в поток ответов, при этом Name:
не может предположить, что это не фактическая разметка. тег.