¿Por qué la carpeta modelo necesita un constructor vacío?

Necesito ayuda con algunos fundamentos aquí ...

Tengo este controlador que sirve mi vista con una instancia de una clase (al menos así es como creo que funciona). Entonces, dado que le doy a mi vista una nueva instancia del objeto, ¿por qué tiene que crear uno MÁS NUEVO para el enlace del modelo para mi publicación posterior? Por favor, mire el siguiente ejemplo.

[HttpGet]
public ActionResult Index(){
  int hi = 5;
  string temp = "yo";
  MyModel foo = new MyModel(hi, temp);
  return View(foo);
}
[HttpPost] 
public ActionResult Index(MyModel foo){
  MyModel poo = foo;
  if(poo.someString == laaaa)
    return RedirctToAction("End", "EndCntrl", poo);
  else
    throw new Exception();
}

View:
@model myApp.models.MyModel

@html.EditorFor(m => m.hi) 
<input type="submit" value="hit"/>

Model:
public class MyModel {
 public int hi {get; set;}
 public string someString {get; set;}
 public  stuff(int number, string laaaa){
  NumberforClass = number;
  someString = laaaa;
 }
}

¿Por qué necesito un constructor en blanco? Además, si tuviera un constructor sin parámetros, ¿por quépoo.someString cambiar para cuando llegueRedirctToAction("End", "EndCntrl", poo)?

Respuestas a la pregunta(4)

Su respuesta a la pregunta