新客网WWW.XKER.COM:致力做中国最专业的网络学院!
学院: 操作系统 - 网络应用 - 服务器 - 网络安全 - 工具软件 - 办公软件 - Web开发 - 数据库 - 网页设计 - 图形图像 - 媒体动画 - 硬件学堂 - 存储频道 - QQ专区
您的位置:首页 > 软件开发 > Web开发 > Asp教程 > 正文:.net中Web自定义控件编写的几个注意事项

.net中Web自定义控件编写的几个注意事项

新客网 XKER.COM 2004-10-13 来源: 收藏本文
如果重载本身父类提供的enable属性,将导致无法将子控件中的值用viewstate回传,即无法保持状态。所以最好自己定义该类属性并实现。

定义属性时,如果是子控件本身属性的反映,可以直接取其值,值将自动保留,如果属于自己定义的属性,用viewState保留状态

例如:



/// <summary>

/// 文本框值 txtMD是一个Web TextBox

/// </summary>

[Bindable(true),

Category("Appearance"),

DefaultValue("")]

public string Text

{

get

{



if(txtMD.Text!="")

return txtMD.Text;

else

return "";

}



set

{



txtMD.Text=value;

}

}



自定义属性:

/// <summary>

/// 参考录入窗口宽度

/// </summary>

[Bindable(true),

Category("Appearance"),

DefaultValue("50")]

public int TextBoxMaxLength

{

get

{

return ViewState[this.UniqueID+"TextBoxMaxLength"]==null?50:(int)ViewState[this.UniqueID+"TextBoxMaxLength"];

}

set

{

ViewState[this.UniqueID+"TextBoxMaxLength"]=value;

}



}




注意:加上this.UniqueID是区分多个相同控件在同一页面上时的相同属性。
收藏】 【评论】 【推荐】 【投稿】 【打印】 【关闭
发表评论
要记得去论坛讨论,点击注册新会员匿名评论
评论内容:不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
阅读排行
随机推荐
实用信息推荐