2015-07-20 136 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