2013-03-28 92 views

回答

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