用户控件在回发时丢失属性
本文关键字:属性 控件 用户 | 更新日期: 2023-09-27 18:03:54
我有一个用户控件,它有许多属性。这个用户控件被放置在GridView的TemplateField中,属性是从网格的数据源绑定的。在用户控件上,我有一些LinkButton's执行操作,使用一些属性作为属性(例如,我传入一行的ID)
值进入它很好,但是一旦在用户控件上单击LinkButton,属性重置为null,因此LinkButton动作不起作用。是什么导致的呢?我已经确保ViewState是启用的。
编辑:一些代码
属性:public long? _InvoiceID;
[PersistenceMode(PersistenceMode.Attribute)]
[Bindable(BindableSupport.Yes)]
public long? InvoiceID {get { return _InvoiceID; } set { _InvoiceID = value; } }
尝试将传递给用户控件的值保存到用户控件的隐藏字段中,当您单击LinkButton
时读取隐藏字段值
变量long? _InvoiceID
是无状态的,所以你可以试试
[PersistenceMode(PersistenceMode.Attribute)]
[Bindable(BindableSupport.Yes)]
public long? InvoiceID
{
get {
return (long?)_InvoiceIDHiddenn.Value;
}
set {
_InvoiceIDHiddenn.Value = value;
}
}