嗨,有人知道如何在C#中使用databinder.eval
其实我已经试过了
LinkButton lnkName = new LinkButton();
lnkName.CommandArgument = DataBinder.Eval("object","<%#COURSE_ID%>");
它显示错误。这怎么了?
最佳答案
您不能在aspx页面后面的代码中使用Eval。
这个:
lnkName.CommandArgument = DataBinder.Eval("object","<%#COURSE_ID%>");
应该是这样的:
lnkName.CommandArgument = YOUR_OBJECT_PROPERTY_HERE;
要填写YOUR_OBJECT_PROPERTY_HERE,您需要像在C#代码中一样指定object.property等,或者您必须使用反射从对象中获取属性值(eval为您执行的操作)。
这是一个链接,显示了如何使用反射从对象获取属性信息。如果需要,您可以使用它来复制评估的工作方式:https://web.archive.org/web/1/http://articles.techrepublic%2ecom%2ecom/5100-10878_11-6099345.html
链接到DataBinder评估方法:http://msdn.microsoft.com/en-us/library/4hx47hfe.aspx
DataBinder评估方法的工作方式(以及作者认为应避免使用它的原因)http://weblogs.asp.net/jgalloway/archive/2005/09/20/425687.aspx