有很多articles表明在MVC架构中,View可以直接与Model交互,即询问数据。
View to Model交互的真实示例是什么样的?程序员何时通过Controller传递数据?何时允许View直接从Model中检索?
P.S。 MVC在Web开发中被大量使用,但就我而言,View总是通过Controller与Model进行交互。
答案 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);
}
}