Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/334.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# c中的数据索引器评估#_C#_Eval_Databinder - Fatal编程技术网

C# c中的数据索引器评估#

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(“对象”,“对象”); 它显示出

嗨,有人知道如何在c中使用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
}