Extension methods (i.e., Html.TextBox) don't work well with dynamic objects (i.e., item)... it's a limitation of c#.
You've got a few options:
format: InputExtensions.TextBox(Html, "Last Name", item.LastName) // static call
format: Html.TextBox("Last Name", (object)item.LastName) // cast as non-dynamic object
format: <input type="text" name="LastName" value="@item.LastName" /> // avoid extensions
Also, I believe there's an inherent lambda with an "item" parameter - you shouldn't need to declare this yourself.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…