2010-02-26 137 views
1

我加载的局部视图与AJAX调用:ASP.NET MVC和强类型partialview

public ActionResult LoadServerForm() 
     { 
      //data stuff 

      ViewData["ApplicationID"] = appID.ToString(); 
      ViewData["Servers"] = ServersList(appServerRep.Session, null, appServers); 
      return PartialView("Application_AddServer"); 
     } 

这个伟大的工程,但我想从魔术的ViewData串了。我试图使来自同一个视图模型为“托管”页面的局部视图继承,但Model对象为空时,我尝试这种在局部视图:

<%= Html.HiddenFor(model=>model.Application_Key, Model.Application_Key) %> 

有没有办法通过主页视图模型下入AJAX加载PartialView或者我应该寻找一个不同的方法完全?

回答

1

当你return PartialView("Application_AddServer");,你必须通过模型:

return PartialView("Application_AddServer", model); 

由于这是一个Ajax请求,这是一个独立的控制器操作调用,而新PartialView不知道请求的模型页。你必须重建它,无论是从无论你的原始数据源或与AJAX请求传递的数据。

+0

OK,现在我觉得自己像一个虚拟的...我可以发誓,我检查,看看是否有过载,包括模型,但显然不是! – 2010-02-26 18:44:46

+0

嘿,发生在每个人的时间:) – RedFilter 2010-02-26 18:47:16