时间:2016-02-15 21:41 来源: 我爱IT技术网 作者:佚名
欢迎您访问我爱IT技术网,今天小编为你分享的编程技术是:【asp.net 动态创建TextBox控件及状态数据如何加载】,下面是详细的讲解!
asp.net 动态创建TextBox控件及状态数据如何加载
public class TextBox : WebControl, IPostBackDataHandler, IEditableTextControl {
protected override object SaveViewState() {
if (SaveTextViewState==false) {
ViewState.SetItemDirty("Text", false);
}
return base.SaveViewState();
}
private bool SaveTextViewState {
get {
//
// Must be saved when
// 1. There is a registered event handler for SelectedIndexChanged
// 2. Control is not enabled or visible, because the browser's post data will not include this control
// 3. The instance is a derived instance, which might be overriding the OnTextChanged method
if (TextMode==TextBoxMode.Password) {
return false;
}
if ((Events[EventTextChanged] !=null) ||
(IsEnabled==false) ||
(Visible==false) ||
(ReadOnly) ||
(this.GetType() !=typeof(TextBox))) {
return true;
}
return false;
}
}
}
public class WebControl : Control, IAttributeAccessor {
protected override object SaveViewState() {
Pair myState=null;
// Save values cached out of view state
if (_webControlFlags[disabledDirty]) {
ViewState["Enabled"]=!flags[isWebControlDisabled];
}
if (ControlStyleCreated) {
// the style shares the StateBag of its owner WebControl
// call SaveViewState to let style participate in state management
ControlStyle.SaveViewState();
}
object baseState=base.SaveViewState();
object aState=null;
if (attrState !=null) {
aState=attrState.SaveViewState();
}
if (baseState !=null || aState !=null) {
myState=new Pair(baseState, aState);
}
return myState;
}
}
public class Control : IComponent, IParserAccessor, IUrlResolutionService, IDataBindingsAccessor, IControlBuilderAccessor, IControlDesignerAccessor, IExpressionsAccessor {
protected virtual object SaveViewState() {
// Save values cached out of view state
if (flags[visibleDirty]) {
ViewState["Visible"]=!flags[invisible];
}
if (flags[validateRequestModeDirty]) {
ViewState["ValidateRequestMode"]=(int)ValidateRequestMode;
}
if (_viewState !=null)
return _viewState.SaveViewState();
return null;
}
}
public sealed class StateBag : IStateManager, IDictionary {
internal object SaveViewState() {
ArrayList data=null;
if (bag.Count !=0) {
IDictionaryEnumerator e=bag.GetEnumerator();
while (e.MoveNext()) {
StateItem item=(StateItem)(e.Value);
if (item.IsDirty) {
if (data==null) {
data=new ArrayList();
}
#if OBJECTSTATEFORMATTER
data.Add(new IndexedString((string)e.Key));
#else
data.Add(e.Key);
#endif
data.Add(item.Value);
}
}
}
return data;
}
}
关于asp.net 动态创建TextBox控件及状态数据如何加载的用户互动如下:
相关问题:
答: >>详细
相关问题:
答: >>详细
相关问题:
答: >>详细
- 【创建】ASP.NET Web API教程 创建域模型的方法详
- 【服务器】asp.net页面状态管理cookie和服务器状
- 如何取消.net后台线程的执行
- 【WeakReference】WeakReference(弱引用)让GC需要
- 【Repeater控件】.NET实现Repeater控件+AspNetPag
- 【客户端】获取客户端IP地址c#/vb.net各自实现代
- 【asp】asp.net上传execl文件后 在页面上加载显示
- 【Excel】页面导出为Excel的时间格式的问题-时间
- 【ref】asp.net(c#)ref out params的区别-out-pa
- 【数据控件】asp.net获得数据控件事件索引并获取
- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
