喜有人知道如何在C#中使用的DataBinder.Eval的DataBinder.Eval在C#
其實我已經試過這
LinkButton lnkName = new LinkButton();
lnkName.CommandArgument = DataBinder.Eval("object","<%#COURSE_ID%>");
它顯示錯誤。這有什麼錯?
喜有人知道如何在C#中使用的DataBinder.Eval的DataBinder.Eval在C#
其實我已經試過這
LinkButton lnkName = new LinkButton();
lnkName.CommandArgument = DataBinder.Eval("object","<%#COURSE_ID%>");
它顯示錯誤。這有什麼錯?
您應該使用* .aspx代碼中的Eval表達式和<% %>
而不是C#代碼。
那麼在C#中使用DataBinder.Eval方法是什麼? – jestges 2010-04-14 12:45:32
你不能在aspx頁面背後的代碼中使用Eval。
這樣的:
lnkName.CommandArgument = DataBinder.Eval("object","<%#COURSE_ID%>");
應該是這樣的:
lnkName.CommandArgument = YOUR_OBJECT_PROPERTY_HERE;
爲了填補YOUR_OBJECT_PROPERTY_HERE您可能需要指定object.property等像正常的C#代碼,或者你必須使用反射從對象獲取屬性值(這是eval爲您做的)。
這是一個鏈接,顯示如何使用反射從對象獲取屬性信息。你可以用它來複制如何EVAL作品,如果你需要:https://web.archive.org/web/1/http://articles.techrepublic%2ecom%2ecom/5100-10878_11-6099345.html
鏈接DataBinder的eval方法:http://msdn.microsoft.com/en-us/library/4hx47hfe.aspx
的DataBinder的eval方法的工作原理(爲什麼筆者認爲應該避免)http://weblogs.asp.net/jgalloway/archive/2005/09/20/425687.aspx
嗨,謝謝你的回覆。這是什麼意思YOUR_OBJECT_PROPERTY_HERE?對不起,你能給我一個例子嗎? – jestges 2010-04-14 12:47:39
@jestges它會是這樣的: [ObjectInstance]。[Property] or CollegeClass.CourseID – kemiller2002 2010-04-14 12:51:53
我已經通過很多例子。在每個示例中,它們都顯示靜態控件,如
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowIndex > -1)
{
string h = DataBinder.Eval(e.Row.DataItem, "ColumnName").ToString();
}
}
對於中繼器它是DataBinder.Eval(e.Item.DataItem,「ColumnName」) – mhenry1384 2013-10-01 01:24:07
對於設計頁面示例,您可以使用這樣的:
<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
}
你可以多發一點你的代碼,請詳細說明完整的用法。 – 2010-04-14 12:38:01
只是我嘗試通過c#代碼而不是aspx內聯使用DataBinder.Eval方法。所以我嘗試了這樣。但我沒有成功。 DataBinder.Eval(對象容器,字符串表達式)這是簽名。這裏對象容器是什麼意思?任何想法? – jestges 2010-04-14 12:43:08