Vig*_*ian 8 c# asp.net asp.net-mvc asp.net-mvc-3 asp.net-mvc-4
我是MVC的新手
我正在使用MVC开发Web应用程序,该应用程序只包含一个页面.
所以在那个视图中我必须填充多个数据.假设应用程序是"新闻源"应用程序,我需要填充最近的新闻,您喜欢的新闻,朋友推荐的新闻等.所以我应该从视图到所有必需的控制器进行ajax调用以获取这些数据并追加在视图??
目前我能够通过对控制器进行ajax调用并获取数据来获取数据,但根据我的理解,控制器首先在MVC中被调用,并呈现视图和我当前使用的方式我正在调用控制器从视图返回.
这种方法是否正确?在MVC中实现此结果的正确方法是什么?
如果我必须使用Ajax调用控制器并获取数据,那么MVC会有什么不同?在3层应用程序中,我将调用一些web方法或一个Handler,它将在这里返回一些数据我正在调用一个动作结果函数,它再次返回一些数据
小智 6
是的你可以像这样使用ajax调用
$(document).ready(function () {
$('#CategoryId').change(function () {
$.getJSON('/Publication/AjaxAction/' + this.value, {},
function (html) {
$("#partial").html(html);
alert("go");
});
});
});
Run Code Online (Sandbox Code Playgroud)
然后从您的控制器加载部分视图.
public ActionResult AjaxAction(int Id)
{
if (Request.IsAjaxRequest())
{
if (Id== 1)
{
ViewBag.SourceTypeId = new SelectList(db.SourceTypes, "Id", "Title");
ViewBag.CityId = new SelectList(db.Cities, "Id", "Title");
return PartialView("_CreateStatya");
}
}
return PartialView();
}
Run Code Online (Sandbox Code Playgroud)