我正在使用System.Linq.Dynamic
动态调用动作,附在我的代码下面。
void InvokeAction(object gv, string lambda) {
var e = myalias.DynamicExpression.ParseLambda(gv.GetType(), null, lambda);
e.Compile().DynamicInvoke(gv);
}
var gv = new GridView();
gv.DataSource = (new int[] {
1,
2,
3,
4,
5
}).Select(p => new {
f1 = "f1", f2 = "f2", f3 = "f3"
});
gv.DataBind();
InvokeAction(gv, "HeaderRow.Cells[0].Text = \"a\"");
// Runs fine , but does not update the value
InvokeAction(gv, "HeaderStyle.BackColor = System.Drawing.Color.White");
// Gives exception No property or field 'System' exists in type 'GridView'
第一次调用InvokeAction运行正常,但不更新值。 第二次调用InvokeAction会抛出异常
没有财产或字段'系统'存在于类型' GridView'
中