Звучит так, как будто вы ищете атрибуты контроллера [HttpGet] и [HttpPost]. Это позволяет вам создать два метода, которые отличаются этим атрибутом. Например:
[HttpGet]
public ActionResult Index(int viewId)
{
return View(new IndexViewModel(viewId));
}
[HttpPost]
public ActionResult Index(IndexViewModel model)
{
model.DoSomethingUsefulWithPostData();
return View(model);
}
Первый метод примет аргумент строки запроса и создаст из него модель представления. Второй будет вызван после публикации формы и реконструкции модели, включая любые значения из самого POST в модели.