我有一个具有许多属性的用户控件。此用户控件放在GridView的TemplateField中,属性从网格的数据源中进行数据绑定。在用户控件上我有一些LinkButton执行操作,使用一些属性作为属性(例如,我传入一行的ID)
值很好,但只要在usercontrol上单击LinkButton,属性就会重置为null,因此LinkButton操作不起作用。什么可能导致这个?我确保启用了ViewState。
编辑:一些代码:
属性:
public long? _InvoiceID;
[PersistenceMode(PersistenceMode.Attribute)]
[Bindable(BindableSupport.Yes)]
public long? InvoiceID {get { return _InvoiceID; } set { _InvoiceID = value; } }
答案 0 :(得分:1)
尝试将传递给用户控件的值保存到用户控件中的隐藏字段中,并在单击LinkButton
时读取隐藏字段值
<强>更新强>
变量long? _InvoiceID
是无状态的,所以你可以试试这个
[PersistenceMode(PersistenceMode.Attribute)]
[Bindable(BindableSupport.Yes)]
public long? InvoiceID
{
get {
return (long?)_InvoiceIDHiddenn.Value;
}
set {
_InvoiceIDHiddenn.Value = value;
}
}