2017-02-02 41 views
-3

的.load函数在创建里程碑的视图中传递模型视图。我有以下ajax成功函数。我想通过ajax

success: function (data) { 
    $('#projectsummay').load("/Projects/ProjectSummary/", { project: data }); 

} 

我创造了一个里程碑。里程碑控制器中的 。

public JsonResult Create(Milestone milestone, string t) 
{ 
//...... 
var prj = db.Projects.Single(x => x.Id == milestone.ProjectId); 
return Json(prj, JsonRequestBehavior.AllowGet); 
} 

在数据中获取此prj。并将其发送给项目控制器

public ActionResult ProjectSummary(Project project) 
{ 
//...... 
return PartialView(project); 
} 

此projectsummary函数被命中但对象(项目)为空。

+2

世界你为什么要制作和AJAX调用返回的数据,然后进行另一个Ajax调用再次发送直接回到控制器返回一个看法?你需要显示相关的代码,包括你的控制器方法和数据是什么(除非data是一个简单的值类型或字符串,否则这将不起作用) –

+0

数据传递一个json字符串 - 它更轻,更受欢迎。 –

+0

@StephenMuecke我不想重新加载整个页面我想返回一个更新的局部视图,这就是为什么我把它发回控制器 –

回答

0

是的,你可以通过这个加载函数,它应该看起来像下面的控制器。

public ActionResult ProjectSummary(YourDataModel project) 
{ 
    //........... 
} 

更新

$('#projectsummay').load("/Projects/ProjectSummary/", data); 
+0

即时通讯它在控制器中,但所有的值都是空的,即模型为空 –

+0

你是否传递了相同的模型,你已经返回'data',你需要返回像'return Json(objmodel, JSONRequestBehavior.AllowGet);'。@ MuhammadAli – Manoj

+0

请详细说明如何将ajax函数中的模型作为参数传递给控制器​​.. –