2014-03-18 49 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