📄 basescripts.js
字号:
/// </summary>
/// <param name="sender" type="Object">
/// DynamicPopulate behavior
/// </param>
/// <param name="eventArgs" type="Sys.EventArgs" mayBeNull="false">
/// Event args
/// </param>
this.raisePopulated(eventArgs);
},
get_dynamicControlID : function() {
/// <value type="String">
/// ID of the element to populate with dynamic content
/// </value>
return this._DynamicControlID;
},
get_DynamicControlID : this.get_dynamicControlID,
set_dynamicControlID : function(value) {
if (this._DynamicControlID != value) {
this._DynamicControlID = value;
this.raisePropertyChanged('dynamicControlID');
this.raisePropertyChanged('DynamicControlID');
}
},
set_DynamicControlID : this.set_dynamicControlID,
get_dynamicContextKey : function() {
/// <value type="String">
/// An arbitrary string value to be passed to the web method.
/// For example, if the element to be populated is within a
/// data-bound repeater, this could be the ID of the current row.
/// </value>
return this._DynamicContextKey;
},
get_DynamicContextKey : this.get_dynamicContextKey,
set_dynamicContextKey : function(value) {
if (this._DynamicContextKey != value) {
this._DynamicContextKey = value;
this.raisePropertyChanged('dynamicContextKey');
this.raisePropertyChanged('DynamicContextKey');
}
},
set_DynamicContextKey : this.set_dynamicContextKey,
get_dynamicServicePath : function() {
/// <value type="String" mayBeNull="true" optional="true">
/// The URL of the web service to call. If the ServicePath is not defined, then we will invoke a PageMethod instead of a web service.
/// </value>
return this._DynamicServicePath;
},
get_DynamicServicePath : this.get_dynamicServicePath,
set_dynamicServicePath : function(value) {
if (this._DynamicServicePath != value) {
this._DynamicServicePath = value;
this.raisePropertyChanged('dynamicServicePath');
this.raisePropertyChanged('DynamicServicePath');
}
},
set_DynamicServicePath : this.set_dynamicServicePath,
get_dynamicServiceMethod : function() {
/// <value type="String">
/// The name of the method to call on the page or web service
/// </value>
/// <remarks>
/// The signature of the method must exactly match the following:
/// [WebMethod]
/// string DynamicPopulateMethod(string contextKey)
/// {
/// ...
/// }
/// </remarks>
return this._DynamicServiceMethod;
},
get_DynamicServiceMethod : this.get_dynamicServiceMethod,
set_dynamicServiceMethod : function(value) {
if (this._DynamicServiceMethod != value) {
this._DynamicServiceMethod = value;
this.raisePropertyChanged('dynamicServiceMethod');
this.raisePropertyChanged('DynamicServiceMethod');
}
},
set_DynamicServiceMethod : this.set_dynamicServiceMethod,
get_cacheDynamicResults : function() {
/// <value type="Boolean" mayBeNull="false">
/// Whether the results of the dynamic population should be cached and
/// not fetched again after the first load
/// </value>
return this._cacheDynamicResults;
},
set_cacheDynamicResults : function(value) {
if (this._cacheDynamicResults != value) {
this._cacheDynamicResults = value;
this.raisePropertyChanged('cacheDynamicResults');
}
},
add_populated : function(handler) {
/// <summary>
/// Add a handler on the populated event
/// </summary>
/// <param name="handler" type="Function">
/// Handler
/// </param>
this.get_events().addHandler("populated", handler);
},
remove_populated : function(handler) {
/// <summary>
/// Remove a handler from the populated event
/// </summary>
/// <param name="handler" type="Function">
/// Handler
/// </param>
this.get_events().removeHandler("populated", handler);
},
raisePopulated : function(arg) {
/// <summary>
/// Raise the populated event
/// </summary>
/// <param name="arg" type="Sys.EventArgs">
/// Event arguments
/// </param>
var handler = this.get_events().getHandler("populated");
if (handler) handler(this, arg);
},
add_populating : function(handler) {
/// <summary>
/// Add an event handler for the populating event
/// </summary>
/// <param name="handler" type="Function" mayBeNull="false">
/// Event handler
/// </param>
/// <returns />
this.get_events().addHandler('populating', handler);
},
remove_populating : function(handler) {
/// <summary>
/// Remove an event handler from the populating event
/// </summary>
/// <param name="handler" type="Function" mayBeNull="false">
/// Event handler
/// </param>
/// <returns />
this.get_events().removeHandler('populating', handler);
},
raisePopulating : function(eventArgs) {
/// <summary>
/// Raise the populating event
/// </summary>
/// <param name="eventArgs" type="Sys.CancelEventArgs" mayBeNull="false">
/// Event arguments for the populating event
/// </param>
/// <returns />
var handler = this.get_events().getHandler('populating');
if (handler) {
handler(this, eventArgs);
}
}
}
AjaxControlToolkit.DynamicPopulateBehaviorBase.registerClass('AjaxControlToolkit.DynamicPopulateBehaviorBase', AjaxControlToolkit.BehaviorBase);
AjaxControlToolkit.ControlBase = function(element) {
AjaxControlToolkit.ControlBase.initializeBase(this, [element]);
this._clientStateField = null;
this._callbackTarget = null;
this._onsubmit$delegate = Function.createDelegate(this, this._onsubmit);
this._oncomplete$delegate = Function.createDelegate(this, this._oncomplete);
this._onerror$delegate = Function.createDelegate(this, this._onerror);
}
AjaxControlToolkit.ControlBase.prototype = {
initialize : function() {
AjaxControlToolkit.ControlBase.callBaseMethod(this, "initialize");
// load the client state if possible
if (this._clientStateField) {
this.loadClientState(this._clientStateField.value);
}
// attach an event to save the client state before a postback or updatepanel partial postback
if (typeof(Sys.WebForms)!=="undefined" && typeof(Sys.WebForms.PageRequestManager)!=="undefined") {
Array.add(Sys.WebForms.PageRequestManager.getInstance()._onSubmitStatements, this._onsubmit$delegate);
} else {
$addHandler(document.forms[0], "submit", this._onsubmit$delegate);
}
},
dispose : function() {
if (typeof(Sys.WebForms)!=="undefined" && typeof(Sys.WebForms.PageRequestManager)!=="undefined") {
Array.remove(Sys.WebForms.PageRequestManager.getInstance()._onSubmitStatements, this._onsubmit$delegate);
} else {
$removeHandler(document.forms[0], "submit", this._onsubmit$delegate);
}
AjaxControlToolkit.ControlBase.callBaseMethod(this, "dispose");
},
findElement : function(id) {
// <summary>Finds an element within this control (ScriptControl/ScriptUserControl are NamingContainers);
return $get(this.get_id() + '_' + id.split(':').join('_'));
},
get_clientStateField : function() {
return this._clientStateField;
},
set_clientStateField : function(value) {
if (this.get_isInitialized()) throw Error.invalidOperation(AjaxControlToolkit.Resources.ExtenderBase_CannotSetClientStateField);
if (this._clientStateField != value) {
this._clientStateField = value;
this.raisePropertyChanged('clientStateField');
}
},
loadClientState : function(value) {
/// <remarks>override this method to intercept client state loading after a callback</remarks>
},
saveClientState : function() {
/// <remarks>override this method to intercept client state acquisition before a callback</remarks>
return null;
},
_invoke : function(name, args, cb) {
/// <summary>invokes a callback method on the server control</summary>
if (!this._callbackTarget) {
throw Error.invalidOperation(AjaxControlToolkit.Resources.ExtenderBase_ControlNotRegisteredForCallbacks);
}
if (typeof(WebForm_DoCallback)==="undefined") {
throw Error.invalidOperation(AjaxControlToolkit.Resources.ExtenderBase_PageNotRegisteredForCallbacks);
}
var ar = [];
for (var i = 0; i < args.length; i++)
ar[i] = args[i];
var clientState = this.saveClientState();
if (clientState != null && !String.isInstanceOfType(clientState)) {
throw Error.invalidOperation(AjaxControlToolkit.Resources.ExtenderBase_InvalidClientStateType);
}
var payload = Sys.Serialization.JavaScriptSerializer.serialize({name:name,args:ar,state:this.saveClientState()});
WebForm_DoCallback(this._callbackTarget, payload, this._oncomplete$delegate, cb, this._onerror$delegate, true);
},
_oncomplete : function(result, context) {
result = Sys.Serialization.JavaScriptSerializer.deserialize(result);
if (result.error) {
throw Error.create(result.error);
}
this.loadClientState(result.state);
context(result.result);
},
_onerror : function(message, context) {
throw Error.create(message);
},
_onsubmit : function() {
if (this._clientStateField) {
this._clientStateField.value = this.saveClientState();
}
return true;
}
}
AjaxControlToolkit.ControlBase.registerClass("AjaxControlToolkit.ControlBase", Sys.UI.Control);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -