C# c中的数据索引器评估#
嗨,有人知道如何在c中使用databinder.eval吗# 实际上我已经试过了C# c中的数据索引器评估#,c#,eval,databinder,C#,Eval,Databinder,嗨,有人知道如何在c中使用databinder.eval吗# 实际上我已经试过了 LinkButton lnkName = new LinkButton(); lnkName.CommandArgument = DataBinder.Eval("object","<%#COURSE_ID%>"); LinkButton lnkName=newlinkbutton(); lnkName.CommandArgument=DataBinder.Eval(“对象”,“对象”); 它显示出
LinkButton lnkName = new LinkButton();
lnkName.CommandArgument = DataBinder.Eval("object","<%#COURSE_ID%>");
LinkButton lnkName=newlinkbutton();
lnkName.CommandArgument=DataBinder.Eval(“对象”,“对象”);
它显示出错误。这有什么问题吗?您应该在*.aspx代码中使用Eval表达式和
,而不是在C代码中使用 您应该在*.aspx代码中使用Eval表达式和
,而不是在C#代码中使用 不能在aspx页面的代码隐藏中使用Eval
这:
要在此处填充_OBJECT_PROPERTY_,您需要像C#code中的普通代码一样指定OBJECT.PROPERTY等,或者必须使用反射从对象获取属性值(这是eval为您所做的)
下面是一个链接,显示如何使用反射从对象获取属性信息。如果需要,您可以使用它复制eval的工作方式:
链接到DataBinder评估方法:
DataBinder Eval方法的工作原理(以及作者认为应该避免的原因)您不能在aspx页面的代码隐藏中使用Eval 这: 要在此处填充_OBJECT_PROPERTY_,您需要像C#code中的普通代码一样指定OBJECT.PROPERTY等,或者必须使用反射从对象获取属性值(这是eval为您所做的) 下面是一个链接,显示如何使用反射从对象获取属性信息。如果需要,您可以使用它复制eval的工作方式: 链接到DataBinder评估方法:
DataBinder Eval方法的工作原理(以及作者认为应该避免的原因)例如,在设计页面中,您可以使用如下方法:
<asp:Button ID="btnEdit" CommandName="Edit"
CommandArgument='<%# DataBinder.Eval(Container, "RowIndex") %>'
CssClass="cursor_hand" runat="server" Text="Edit" />
例如,在设计页面中,您可以使用以下选项:
<asp:Button ID="btnEdit" CommandName="Edit"
CommandArgument='<%# DataBinder.Eval(Container, "RowIndex") %>'
CssClass="cursor_hand" runat="server" Text="Edit" />
你能多发布一点你的代码吗?请告诉我完整的用法。我只是尝试通过c#代码而不是aspx内联使用DataBinder.Eval方法。所以我试着这样做。但是我没有成功。Eval(对象容器,字符串表达式)这是签名。这里所说的对象容器是什么意思?有什么想法吗?你能多发布一点你的代码吗?请告诉我完整的用法。我只是尝试通过c代码而不是aspx内联使用DataBinder.Eval方法。所以我试着这样做。但是我没有成功。Eval(对象容器,字符串表达式)这是签名。这里所说的对象容器是什么意思?有什么想法吗?那么c#中的DataBinder.Eval方法有什么用?那么c#中的DataBinder.Eval方法有什么用?您好,谢谢您的回复。这里的对象属性是什么意思?对不起,你能给我举个例子吗?@jestges应该是:[ObjectInstance].[Property]或CollegeClass。CourseIDI已经看过很多例子了。在每个示例中,它们都使用静态控件显示,例如,但我想动态创建此链接按钮,并想设置databinder.evalHi感谢您的回复。这里的对象属性是什么意思?对不起,你能给我举个例子吗?@jestges应该是:[ObjectInstance].[Property]或CollegeClass。CourseIDI已经看过很多例子了。在每个示例中,它们都使用静态控件显示,例如,但我希望动态创建此链接按钮,并希望为中继器设置datainder.Eval,即datainder.Eval(e.Item.DataItem,“ColumnName”),为中继器设置datainder.Eval(e.Item.DataItem,“ColumnName”)
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowIndex > -1)
{
string h = DataBinder.Eval(e.Row.DataItem, "ColumnName").ToString();
}
}
<asp:Button ID="btnEdit" CommandName="Edit"
CommandArgument='<%# DataBinder.Eval(Container, "RowIndex") %>'
CssClass="cursor_hand" runat="server" Text="Edit" />
int rowIndex = int.Parse(e.CommandArgument.ToString());
if (e.CommandName.Equals("Edit"))
{
//do something
}