2014-03-18 42 views
0

認爲我有以下代碼:Javascript - 如何更改組件的屬性?

Sys.Application.add_init(function() { 
    $create(
     componentType, 
     { 
      "property1":"something", 
      "property2":"something2" 
     }, 
     null, 
     null, 
     $get("element" 
    )); 
}); 

如何我可以改變這個創建的組件的property1在我的代碼?

回答

1

ASP.NET Component必須被定義以提供製定者,使得

component.set_property1("new value") 

更新相應的 「property1」 值。 Setter是屬性的初始設置,所以不會讓它們實際上破壞Component的其他方面。有關更多信息,請參閱Creating Client Components and Controls

然後,它只是一個「記住」(即存儲在變量中)從$create調用返回的組件;客戶/組件ID已知的地方$find可能會有用。由於ASP.NET系統相當複雜,我推薦使用而不是手動使用$create,而只是通過相應的[ASP.NET AJAX] Web控件與組件系統交互。


綜上所述,

$create(t, { "property1":"something" }, ..); 

大致相當於

var component = $create(t, {}, ..); 
component.set_property1("something"); 
+0

不幸的是,我使用Tampermonkey注入我自己的JavaScript到另一個人的代碼,所以我不能改寫實際製作的組件。沒有其他辦法了? –

+0

['$ find'](http://msdn.microsoft.com/en-us/library/vstudio/bb397441(v = vs.100).aspx)方法可用於獲取組件 - 它要求最初提供的元素的* ID *用於創建組件。 – user2864740