MVC:View to Model交互示例

时间:2015-07-20 19:14:35

标签: model-view-controller

有很多articles表明在MVC架构中,View可以直接与Model交互,即询问数据。

View to Model交互的真实示例是什么样的?程序员何时通过Controller传递数据?何时允许View直接从Model中检索?

P.S。 MVC在Web开发中被大量使用,但就我而言,View总是通过Controller与Model进行交互。

1 个答案:

答案 0 :(得分:0)

在此示例中,视图使用Razor进行渲染。这演示了在ActionResult被提交回客户端之后使用jQuery.Get()实例化数据请求的视图

这是控制器

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);
    }
}