2009-10-19 92 views

回答

4

很多MVC人都在做一些類似於視圖模型的事情,因爲它不是將域對象返回給控制器,而是具有該視圖所需的所有數據的扁平數據結構(視圖模型)而不管它包含多少價值的域對象。在這方面,MVC非常適用於視圖模型,我相信它也可以在webforms中使用。但是,我不知道如何執行WPF中與MVVM關聯的雙向數據綁定/命令/事件聚合。

雖然我不知道任何網頁表單implimentations的,你可以嘗試一些這裏所描述的方法之一:
Jimmy Bogard - How we do MVC

這裏是如何的WinForms MVP做一個非常有趣的文章:
Castle Windsor's MVP with ASP.NET

也許你可以使用webforms創建這兩種方法的混合。

+0

能否請您回答http://stackoverflow.com/questions/8851933/event-bubbling-and-mvp-asp-net? – Lijo

0

查看Craig Shoemaker簡單明瞭地完成ViewModel概念的演示。他在博客上寫了here,代碼示例也是available

6

嘗試DotVVM

,並不是與Web窗體兼容,但它的股票的原則(回傳,服務器控件等),解決了他們的最大問題(清潔HTML,沒有視圖狀態,可測試的ViewModels),它支持完整的.NET框架(通過OWIN)和.NET Core。

您甚至不需要編寫任何JavaScript,它在後臺使用Knockout JS,該框架爲您解決與客戶端 - 服務器通信有關的所有問題。

它也有一個不錯的Visual Studio integration它是開源的。

的觀點是這樣的:

<div class="form-control"> 
    <dot:TextBox Text="{value: Name}" /> 
</div> 
<div class="form-control"> 
    <dot:TextBox Text="{value: Email}" /> 
</div> 
<div class="button-bar"> 
    <dot:Button Text="Submit" 
     Click="{command: Submit()}" /> 
</div> 

而且視圖模型是純C#類。