1
我有一個用戶控件,並且我有一個方法isDirty()添加到此用戶控件中。 這個用戶控件在很多地方都有使用。我如何在ASP.Net中爲用戶控件添加Javascript對象
如何使用javascript訪問此方法。如何爲此特定用戶控件創建JavaScript對象,然後使用find方法訪問它?
$ find('__用戶控件的ID)? 我試過了。
感謝&問候, 弗朗西斯
我有一個用戶控件,並且我有一個方法isDirty()添加到此用戶控件中。 這個用戶控件在很多地方都有使用。我如何在ASP.Net中爲用戶控件添加Javascript對象
如何使用javascript訪問此方法。如何爲此特定用戶控件創建JavaScript對象,然後使用find方法訪問它?
$ find('__用戶控件的ID)? 我試過了。
感謝&問候, 弗朗西斯
JS對象是這樣創建的:
var myobject = { prop1: 'hello',
prop2: function(){//whatever},
prop3:'yay'};
myobject.prop1; //'hello'
myobject.prop2(); //that's right, it runs that function(){//whatever} in prop2
你不能直接訪問與JS的任何服務器端方法。用JSON對象創建AJAX請求,在ASP.NET中解析它,然後在ASP.NET中根據對象中的內容調用你想要的函數。我可以使用ExternalInterface.addCallback做直接的JS訪問,但我不確定ASP.NET有這樣的事情(我強烈建議不要使用「Flash的blackbox JS訪問」樣式)。
如果您已經添加了一個JS對象添加到您的用戶控件莫名其妙服務器端通過執行JavaScript,你只需訪問這樣的:
myUserControlAssociatedJSObject.myFunction(); //it runs it!
其實我想訪問一個客戶端的方法說「IsDirty()」這是使用$查找組件的用戶控件的一部分 – user581157
並感謝您的回覆.. – user581157
如果isDirty()已經存在作爲一個JS對象的JS函數(檢查Firebug DOM也許你可以找到它)然後,你只需要執行wherevermyJsObjectIs.isDirty()和bam就可以運行該函數 - 希望這有助於 – sajawikio