2011-09-22 77 views
2

我正在一個項目在asp.net mvc3(c#)。Asp.net Mvc轉換返回行動結果(視圖)字符串

我需要一個將視圖(而不是局部視圖)轉換爲來自不同控制器的字符串的解決方案。

代碼Explantion:

1)調用 「細節」 從proposalsController proposalmoduleController的作用。

2)proposalmoduleController action「details」返回一個視圖,並將這個視圖(返回結果)作爲一個字符串轉換爲proposalsController。

代碼

public class proposalmoduleController : ControllerBase 
{ 

    [HttpGet] 
    public ActionResult details(int id, int widgetuniqueid) 
    { 
     //id - widgetid of div container 
     List<ModuleViewModel> listmoduleviewmodel = new List<ModuleViewModel>(); 
     List<ModuleFieldViewModel> listmodulefieldviewmodel = new List<ModuleFieldViewModel>(); 

     var objProposalModuleService = new ProposalModuleService(); 
     var objModuleViewModel = new ModuleViewModel(); 

     string WidgetTitle = ""; 
     Int64 ModuleTemplateID = 0; 


     //objModuleViewModel.ProposalID = proposalid; 
     objModuleViewModel.ProposalModuleWidgetID = id; 

     listmoduleviewmodel=objProposalModuleService.Select(1, objModuleViewModel,out listmodulefieldviewmodel, out WidgetTitle, out ModuleTemplateID); 

     return View(listmoduleviewmodel); 
    } 
} 

    public class proposalsController : ControllerBase 
    { 
     public string SaveHtml(int ProposalID) 
     { 
      var objProposalSortOrderViewModelList = new List<ProposalSortOrderViewModel>(); 
      proposalmoduleController objModuleController = new proposalmoduleController(); // Initilize the object of proposalmoduleController for accessing details method 

      objProposalSortOrderViewModelList = GetProposalSortorders(ProposalID); 

      string result; 
      foreach (var item in objProposalSortOrderViewModelList) 
      { 
       ViewResult viewResult = (ViewResult)objModuleController.details(Convert.ToInt32(item.KeyID), Convert.ToInt32(item.SortOrder)); // Fetch the result returned from proposalmodulecontroller,details action 
       result=viewResult.ToString();   // Need to get result fetch from the proposalmodulecontroller,details action as a string 
      } 
     } 
    } 
enter code here 

請提出解決方案。

+0

您正在使用哪個視圖引擎?這在剃刀中非常簡單。 –

+0

現在使用ASPX視圖引擎 – amexn

回答

0

A ViewResult不是視圖。由MVC引擎使用ViewResult來確定必須呈現的視圖。 我認爲,如果你改變你的觀點,這是更好:如果你想在一個視圖中的局部視圖只是使用@Html.Partial

  • ,如果你想在你的proposalsController細節數據演示代碼工作

    • 請不要撥打proposalmoduleController的操作,而是調用一種服務方法,爲您提供數據
  • 相關問題