2015-07-20 85 views
1

有大量的articles表明,在MVC架構中,View可以直接與Model進行交互,即詢問數據。MVC:查看模型交互示例

View to Model交互的真實世界示例是什麼樣的?程序員什麼時候通過Controller傳遞數據,何時允許View直接從Model中檢索?

P.S. MVC主要用於Web開發,但就我而言,View總是通過Controller與Model進行交互。

+0

你會歸類爲現實世界的例子? – wero

+0

@wero,查看與模型 – midnight

回答

0

在此示例中,視圖使用Razor進行渲染。這表明實例使用jQuery.Get()的數據請求中的視圖中的ActionResult已送達回客戶端

這之後是控制器

public class HomeController : Controller 
{ 
    public ActionResult Index() 
    { 
     return View(); 
    } 

    [HttpGet] 
    public JsonResult GetSomeData() 
    { 
     return Json(new GetSomeDataModel{ 
      StringBar = "This is StringBar. And BoolBar: "; 
      BoolBar = false; 
     }); 
    } 
} 

這是爲數據模型,而不是圖。

public class GetSomeDataModel 
{ 
    public bool BoolBar {get;set;} 
    public string StringBar {get;set;} 
} 

這是視圖:

@{ 
    ViewBag.Title = "Home Index Page"; 
    Layout = "~/Views/Shared/_Layout.cshtml"; 
} 

@section Scripts 
{ 
    //And now we make a second request to the controller for the data... 
    $.get("@Url.Action("GetSomeData", "Home")", function(data) { 
     alert("Load was performed."); 
     console.log(data); 
    } 
} 
+1

交互時使用任何語言編寫的示例的任何鏈接或只是一個常見的描述。謝謝。你能否詳細說明通過控制器傳遞數據的情況比指示視圖模型請求更好嗎?它僅僅基於請求的複雜性嗎? – midnight

+0

當然... 1編輯即將到來。總之,是的。 – drooksy

+0

您選擇加載數據的原因是因爲它不是完成響應所需的全部內容。檢查延遲加載和急切加載。 – drooksy