嗨,有人知道如何在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

09-28 00:39