2009-09-08 23 views
2

我最近進入了Silverlight開發。到目前爲止,我已經設法創建了一個Silverlight XAML視圖,該視圖使用ADO.Net Entity Framework從SQL Server數據庫提取數據,並將數據顯示在Silverlight DataGrid中。我還可以對數據執行簡單的編輯和更新功能,並將其保存回數據庫。此時我的理解失敗了。從我收集的內容來看,Silverlight客戶端應用程序託管在ASP.NET或ASP.Net MVC Web應用程序中。通常我會用ASP.Net MVC構建一個網站,並使用一些jQuery控件等來增加每個視圖的接口。我如何去使用我在我的ASP.Net MVC應用程序中創建的這些不同的Silverlight XAML視圖,就像他們是MVC視圖一樣?我在這裏完全錯過了什麼嗎?如何使用Silverlight XAML視圖,就好像它們是MVC視圖

回答

2

RIA模式

有集成的Silverlight(或任何RIA技術)到您的網站兩種不同的模式:在簡單的網站託管

  • 整個Silverlight應用程序
  • Silverlight控件集成到與其他交互的網站(表單,jQuery等)

任何一種模式都可以正常工作,它取決於您決定哪種方法在您的方案中效果更好。

與服務器

你的Silverlight應用程序的Silverlight通信是在瀏覽器中託管的插件,所以最好把它像jQuery或其他客戶端代碼。有幾種方式回與服務器通信:

Silverlight支持的WebClient和HttpWebRequest的,所以你可以在你的客戶端 - 服務器通信中像你想的那樣低級。我真的建議尋找RIA服務,因爲它不僅處理通信,還處理驗證規則。

與HTML/JavaScript的

的Silverlight Silverlight的整合既可以通話,並可以從Javascript通過HTML bridge調用。這意味着您的Silverlight組件可以與您的網頁緊密集成,只要您願意。 Silverlight還可以直接與DOM進行交互 - 設置和閱讀表單值,更改CSS屬性等。如果需要,您可以通過HTML橋執行任何關於Javascript的任何操作。

0

爲了從您的Silverlight應用程序(在客戶機器上運行)更新您的數據模型,需要使用WCF (Windows Communication Foundation)。您的Silverlight應用程序將使用WCF與您的服務器進行通信,而這些與您提供Silverlight應用程序的方式無關(無論您是使用Webforms還是MVC)。

+0

因此,您在ASP.Net或MVC中託管應用程序會變得無關緊要嗎? - 基本上,它只是成爲一個純粹的基於Silverlight的網站!? – Goober 2009-09-08 17:04:31

+0

這基本上是正確的。你可以像Flash一樣思考Silverlight。 Flash幾乎剛剛加載到網頁中,但它並沒有以任何方式真正連接到網頁(反正大多數情況下)。 Silverlight應用程序基本上是自包含的。 – TehOne 2009-09-08 17:11:23

+2

我不同意 - 您可以使用MVC視圖將基於REST的信息提供給Silverlight控件,就像使用Javascript/jQuery客戶端組件一樣。 Silverlight是獨立的,但它既可以與服務器通信,也可以與頁面上的其他HTML通信(通過DOM橋),因此它可以與您的站點緊密集成,只要您願意。 – 2009-09-08 17:27:45

相關問題