【原创】在asp.net中做自定义控件时属性值无法保存

写了一个组合控件,是一个按钮。

 
  
public class Button : System.Web.UI.WebControls.Button

有一个属性原先是这么写的

 
  
private EnumButtonType _buttontype = EnumButtonType.Add;
/// <summary>
/// 设置按钮类型
/// </summary>
public EnumButtonType ButtonType
{
get { return _buttontype; }
set { _buttontype = value; }
}

在运行过程中,后台代码把这个属性设成EnumButtonType.Save。结果当触发事件回发后,该属性变回默认值EnumButtonType.Add了。

要修正这个问题也简单,在定义该属性的时候,用ViewState去保存它的值。

 
  
/// <summary>
/// 设置按钮类型
/// </summary>
public EnumButtonType ButtonType
{
get { return (EnumButtonType)ViewState[ " ButtonType " ]; }
set { ViewState[ " ButtonType " ] = value; }
}

转载于:https://www.cnblogs.com/jojozhuang/archive/2011/05/12/2044737.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值