我正在使用Silverlight應用程序,我希望利用Microsoft ASP.NET AJAX客戶端庫。我使用屬於Silverlight 2的HTML橋來調用庫.Silverlight在JavaScript和託管代碼之間傳遞類型方面得到了很大的支持,但現在我遇到了一個問題。將Silverlight類型傳遞給Microsoft AJAX並傳遞參數驗證
Microsoft ASP.NET AJAX客戶端庫包含一個「類型系統」,並且框架所做的一件事是驗證參數的類型是否正確。我打電話的具體功能是Sys.Application.addHistoryPoint,並驗證代碼如下所示:
var e = Function.validateParams(arguments, [
{name: "state", type: Object},
{name: "title", type: String, mayBeNull: true, optional: true}
]);
我試圖通過各種CLR類型的狀態參數(C#結構,[ScriptableTypes ],字典類型等。每當我得到錯誤:「Sys.ArgumentTypeException:類型'功能'的對象不能轉換爲'對象'類型。
此錯誤顯然來自參數驗證...但爲什麼ASP.NET AJAX認爲我的類型是函數?有誰知道MS AJAX中的類型驗證?
我知道我c做一些變通方法,如調用HtmlPage.Window.Eval(「...」)並將我的JS集成作爲字符串傳遞,但我不想那樣做。我想傳遞一個真實的.NET類型作爲狀態參數。