2009-04-16 62 views
0

我正在使用ASP.Net AJAX,並在我的應用程序中創建了一個Web服務。該服務有一個方法(AddWatchedFolder),它只需要一個Name.Space.WatchedFolder作爲唯一參數。問題是,即使我已將該服務添加到ScriptManager,ASP.Net AJAX也不會爲Name.Space.WatchedFolder生成JavaScript類型。ASP.Net AJAX不創建Javascript類型

我能夠將參數類型更改爲字符串,它工作得很好,但我不能使用該業務對象作爲參數,因爲我無法從JavaScript創建它。

類(Name.Space.WatchedFolder)存在於單獨的類庫項目中,如果有任何區別的話。

任何想法如何讓這個工作?

回答

0

這就是ASP.NET Ajax的工作原理。您可以嘗試將您的對象作爲匿名JavaScript對象傳遞。 JavaScript序列化程序很可能會設法從您提供的JSON中解析出您的自定義對象。下面是一些代碼:

ASMX:

[WebMethod] 
public void MyMethod(MyObject arg) 
{ 
    return arg.Property1 + arg.Property2; 
} 

的JavaScript:

var arg = { Property1 : "One", Property2 : "Two" }; 
MyNameSpace.MyService.MyMethod(arg); 
+0

爲什麼它的工作呀?是因爲班上有另一個項目嗎?它爲同一項目中的內容創建Javascript類型。 – 2009-04-25 15:14:41