簡體   English   中英

javascript函數“ $ find”是否特定於asp.net網絡表單中的telerik客戶端對象?

[英]Is the javascript function “$find” specific for telerik client objects in asp.net webforms?

正如問題所指出的那樣,我想知道javascript函數“ $ find”是否僅能正常工作,因為它是由telerik控件提供的,或者實際上是否是我可以使用的Webforms東西。

我知道$ get是document.getElementById的快捷方式,但是我想知道$ find是否由webforms提供。 如果是這樣,我將對如何將客戶端對象注冊到特定控件ID感興趣。

到目前為止,我已將scriptControl.find(“ id”)用於自定義(我提供了scriptControl)。 但是,如果有一種更標准的方法可以通過$ find訪問所有客戶端對象,我會更喜歡的。

編輯:在firebug的幫助下,通過MS代碼進行的挖掘顯示了這一點:

function Sys$_Application$findComponent(id, parent) {
/// <summary locid="M:J#Sys.Application.findComponent" />
/// <param name="id" type="String"></param>
/// <param name="parent" optional="true" mayBeNull="true"></param>
/// <returns type="Sys.Component" mayBeNull="true"></returns>
var e = Function._validateParams(arguments, [
  {name: "id", type: String},
  {name: "parent", mayBeNull: true, optional: true}
]);

if (e) throw e;

return (parent ?
 ((Sys.IContainer.isInstanceOfType(parent)) ?
   parent.findComponent(id) :
   parent[id] || null) :
   Sys.Application._components[id] || null);
}

做類似的事情

Sys.Application._components["id"] = {clientobject}; 

似乎是一個相當棘手的解決方案。

有什么建議么?

$get$find都不是Telerik特有的。 它們包含在ASP.NET Ajax庫中。 $findSys.Application.findComponent(id, parent)reference )的快捷方式,因此只要此庫包含在頁面上,就可以隨意使用它。 例如代替

scriptControl.find("id")

你可以做

$find("id")

注意, $find僅在已注冊的組件(即使用Sys.Application.addComponent(component)方法添加到Application實例的Sys.Application.addComponent(component)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM