2009-09-04 48 views
0

我正在尋找一個很好的解決了兩個通用對象傳遞給喜歡的ViewPage強類型數據的ViewPage

一個的ViewPage的視圖應該呈現的客戶,以及SomePresentation保持在視圖中使用的數據,可能是一個客戶擁有一個城市的城市列表。

出於各種原因,我不想使用ViewDate [「somedata」]。因此,如果有人有解決方案來啓動並運行第二個參數,請告訴我。

我讀一些有關使用IPresentationModel,但不知道如何做到這一點

問候

回答

2

使用局部視圖來呈現兩個不同的數據集,並使用了視圖模型返回兩個不同的數據集。

所以你可以有一個表單視圖模型,

public class myData 
{ 
    IQueryable cities {get;set;} 
    Customer mycust {get;set;} 
} 

然後填寫該對象與您的數據,並將其返回到視圖

return View(myData) 

然後通過數據集的部分景色

1

只是傳遞一個類到您的視圖:

public class MyViewData 
{ 
    public string SomeData {get;set;} 
} 

控制器動作...

var model = new MyViewData {SomeData = "hello world"}; 
return View(model); 

您的視圖分解...

ViewPage<MyViewData> 

視圖本身......

<%=Model.SomeData%> 
0

如果必須使用,而不是一個模型的ViewData, MVCContrib對ViewData有一個擴展,它爲ViewData屬性提供了一個強類型的接口。

http://www.codeplex.com/MVCContrib

但是,最好的做法是和別人一樣的強類型的模型建議。