Properties for extenders inheriting
ExtenderControlBase
typically looks like this:
[ExtenderControlProperty]
[DefaultValue("")]
public string MyProperty
{
get
{
return GetPropertyValue("MyProperty", "");
}
set
{
SetPropertyValue("MyProperty", value);
}
}
You must have a property with the same name in the behavior on the client side:
get_MyProperty : function() {
return this._myProperty;
},
set_MyProperty : function(value) {
this._myProperty = value;
}
But what if you want it to have different name on the client side? Easy. Add the
ClientPropertyName
attribute to the server side property. If we want
MyProperty
to be called
myProp instead this is how it's done:
[ExtenderControlProperty]
[DefaultValue("")]
[ClientPropertyName("myProp")]
public string MyProperty
{
get
{
return GetPropertyValue("MyProperty", "");
}
set
{
SetPropertyValue("MyProperty", value);
}
}
On the client side we get:
get_myProp : function() {
return this._myProperty;
},
set_myProp : function(value) {
this._myProperty = value;
}
More on attributes:
http://ajax.asp.net/ajaxtoolkit/Walkthrough/ExtenderClasses.aspx
No comments:
Post a Comment