自写扩展控件一次关联两个服务器控件,第二个有问题

发布时间:2024-05-20 23:50 发布:上海旅游网

问题描述:

<asp:Label ID="Label1" runat="server" Text=""></asp:Label>
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<cc1:ExpandTextBox ID="ExpandTextBox1" runat="server"
expandedTextControlID="Label1" HighlightCssClass="HighLight"
NoHighlightCssClass="LowLight" TargetControlID="TextBox1" />

------------------------------
嵌入资源JS代码
FocusBehavior.js

Type.registerNamespace('Expand');

Expand.FocusBehavior = function(element) {
Expand.FocusBehavior.initializeBase(this, [element]);

this._highlightCssClass = null;
this._nohighlightCssClass = null;
this._expandedTextControlID = null;
}

Expand.FocusBehavior.prototype =
{
initialize: function() {
Expand.FocusBehavior.callBaseMethod(this, 'initialize');
$addHandlers(this.get_element(),
{ 'focus': this._onFocus,
'blur': this._onBlur
},
this);

this.get_element().className = this._nohighlightCssClass;
},

dispose: function() {
$clearHandlers(this.get_element());
Expand.FocusBehavior.callBaseMethod(this, 'dispose');
},

_onFocus: function(e) {
//省略
}
},

_onBlur: function(e) {
if (this.get_element() && !this.get_element().disabled) {
this.get_element().className = this._nohighlightCssClass;
var msg = document.getElementById(this._xpandedTextControlID);
msg.innerHTML = "失去焦点";

}
},

get_highlightCssClass: function() {
//省略
},

set_highlightCssClass: function(value) {
if (this._highlightCssClass !== value) {
//省略
}
},

get_nohighlightCssClass: function() {
//省略
},

set_nohighlightCssClass: function(value) {
if (this._nohighlightCssClass !== value) {
//省略
}
},
get_expandedTextControlID: function() {
//省略
},
set_expandedTextControlID: function(value) {
this._expandedTextControlID = value;
this.raisePropertyChanged('expandedTextControlID');
}
}

// Optional descriptor for JSON serialization.
Expand.FocusBehavior.descriptor =
{
properties: [{ name: 'highlightCssClass', type: String },
{ name: 'nohighlightCssClass', type: String},
{ name: 'expandedTextControlID', type: String }]
}

客户端实现失去焦点时关联的第二个是Label控件,用来显示各种提示信息。我写成这样不行。请大家帮帮忙看看JS怎么写。

问题解答:

自写扩展控件一次关联两个服务器控件,第二个有问题这个旅游问答期待您的解答,请登录账号或关注微信公众号回答这个问题。

热点新闻