2015-03-02 37 views
-1

我有一個現有的工作Silverlight應用程序。我正在嘗試使用其中一個XAML.cs文件中的複雜方法。 我想從MVC應用程序中調用該方法。我通過將silverlight類庫引用到我的mvc應用程序來進行嘗試,以檢查它是否可以正常工作,但最終會在實例化該類的對象時收到異常(在xaml.cs類中聲明瞭一些UI元素)。任何人都可以告訴我如何以更好的方式做到這一點。我想通過服務暴露這些方法,但是我想知道更好的可能性。引用Silverlight類庫到MVC應用程序

+0

好吧......如果你的代碼需要重新使用是通用的不夠,你居然發現使用它無需重新 - 使用整個視圖...最好的建議是將其拉入單獨的課程。如果您爲了將其拉出當前位置而苦惱,請發佈您的代碼。 – Martin 2015-03-02 08:24:00

回答

0

Xaml文件(包括它們的cs代碼隱藏)理想情況下應該只有處理用戶界面的代碼。這是爲什麼將UI與其他邏輯混合導致痛苦的一個很好的例子。

如果xaml.cs中的方法對於從外部MVC應用程序調用足夠有用,我會說它不應該在代碼隱藏中:它需要在別處居住並由代碼調用-背後。它也可以被MVC應用程序調用。

TL;博士

1)提取所討論的方法到一個單獨的工具類

2)從代碼調用該類方法背後

3)從MVC調用該類方法應用程序

0

您不能在ASP.NET MVC應用程序中重用XAML代碼。

蝙蝠可以從Silverlight應用程序中提取服務器端邏輯代碼,並在ASP.NET MVC上重新使用它。如果你的Silverlight代碼設計的很好,它不應該是一個複雜的問題。

在這種情況下,您只需重新實現客戶端功能 - 將C#\ XAML替換爲HTML \ JS \ CSS。

此外,您將能夠使用可移植類庫在Silverlight和ASP.NET MVC應用程序中使用提取的代碼。看看接下來的文章如何使用它:

相關問題