2013-03-28 4 views
0

Что представляет собой основное различие между двумя перегрузками View(model) и View("viewName", model), если мое имя действия совпадает с именем вида.View (model) vs View («viewName», model)

Какая из них предпочтительна, чтобы сделать код более понятным? Есть ли разница в производительности?

ответ

2

Я понимаю, что не должно быть никакой разницы, два метода - это просто перегрузки.

Вот источник из MVC3 кодовых -

protected internal ViewResult View() { 
     return View(null /* viewName */, null /* masterName */, null /* model */); 
    } 

    protected internal ViewResult View(object model) { 
     return View(null /* viewName */, null /* masterName */, model); 
    } 

    protected internal ViewResult View(string viewName) { 
     return View(viewName, null /* masterName */, null /* model */); 
    } 

    protected internal ViewResult View(string viewName, string masterName) { 
     return View(viewName, masterName, null /* model */); 
    } 

    protected internal ViewResult View(string viewName, object model) { 
     return View(viewName, null /* masterName */, model); 
    } 

    protected internal virtual ViewResult View(string viewName, string masterName, object model) { 
     if (model != null) { 
      ViewData.Model = model; 
     } 

     return new ViewResult { 
      ViewName = viewName, 
      MasterName = masterName, 
      ViewData = ViewData, 
      TempData = TempData 
     }; 
    } 

И внутренне, если viewName не передается, MVC выглядит его с помощью ControllerContext.