【发布时间】:2011-10-13 10:56:56
【问题描述】:
我有一个自定义控件,我想将方法公开为属性(例如,用于自定义验证);
public Func<bool> ValidateMatrixFunc { get; set; }
然后在包含此自定义控件的页面中,我可以使用委托或 lambda exp 来分配页面的 OnPreInit 事件;
protected override void OnPreInit(EventArgs e)
{
base.OnPreInit(e);
ucMatrixTable.ValidateMatrixFunc = ValidateMatrix;
}
这行得通。
不过,我认为在aspx中这样做会更方便,如:
<uc1:MatrixTable ID="ucMatrixTable" runat="server" ValidateMatrixFunc="ValidateMatrix" />
但这会崩溃并显示以下消息:
无法从其字符串表示形式 'ValidateMatrix' 中创建类型为 'System.Func`1[[System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]' 的对象'ValidateMatrixFunc' 属性。
所以,我只是想知道......我想知道......是否有忍者知道这个问题的答案,或者这只是我们永远不会得到的生活奥秘之一。
【问题讨论】: