2010-02-26 311 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