Методы расширения (т. Е. Html.TextBox) плохо работают с динамическими объектами (т. Е. Item) ... это ограничение c #.
У вас есть несколько вариантов:
формат: InputExtensions.TextBox(Html, "Last Name", item.LastName) // static call
формат: Html.TextBox("Last Name", (object)item.LastName) // cast as non-dynamic object
формат: <input type="text" name="LastName" value="@item.LastName" /> // avoid extensions
Кроме того, я считаю, что существует внутренняя лямбда с параметром "item" - вам не нужно объявлять это самостоятельно.