When I specify form inputs with the @Html.TextBoxFor method, then the generated input element would not necessarily map to the type that is expected in the form's action method.
Let's say I have two classes:
public class HomeA
{
public int A { get; set; }
}
public class HomeB
{
public int B { get; set; }
}
HomeA is the model of my view. If a controller action expects HomeB, then I can't provide the necessary input element in a strongly typed manner in my form:
@using (Html.BeginForm())
{
@Html.TextBoxFor(model => model.A)
}
This form will obviously not map to HomeB's property.