如何在grid_HtmlRowCreated中获取Eval(..)的结果
本文关键字:Eval 结果 获取 grid HtmlRowCreated | 更新日期: 2023-09-27 18:13:39
我试图在grid_HtmlRowCreated方法内的c#代码中使用。aspx的参数。我尝试过在.aspx的标签中设置文本,然后从标签中获取该文本。
工作:aspx
<dx:ASPxLabel runat="server" ID="cl" Text="Some text"/>
…
protected void grid_HtmlRowCreated(object sender, ASPxGridViewTableRowEventArgs e)
{
if (e.RowType == DevExpress.Web.ASPxGridView.GridViewRowType.Data)
{
...
string id;
if (comments_grid != null && expIDControl != null)
{
id = ((DevExpress.Web.ASPxEditors.ASPxLabel)expIDControl).Text;
System.Windows.Forms.MessageBox.Show( id );
}
}
但是当我将值设置为:
<dx:ASPxLabel runat="server" ID="cl" Text='<%# Eval("Id") %>'/>
则id为空,当我设置
时<dx:ASPxLabel runat="server" ID="cl" Text='<%# Eval("Id") %> + " test"'/>
then id = <%# Eval(" id ") %> test
谢谢你的建议…
编辑:那也行,代码只需要在HtmlRowPrepared,而不是在HtmlRowCreated。谢谢你们了!
您可以在类(.aspx.cs)上编写一个方法来连接。
from memory:
Text='<%# ConcatSomething (Eval("Id") , "Peanut" ) %> '/>
和
public object ConcatSomething(object x , object y)
{
return Convert.ToString(x) + Convert.ToString(y);
}
或者
public object ConcatSomething(string x , string y)
{
return x + y;
}
你必须玩它。我已经在data_binding上做了上千次了。
臭味是"对象"的东西。如果你可能有一些
我刚刚从我当前的项目中复制了这个,我有相同的网格与项目模板,正确的方法是:
<dx:ASPxLabel runat="server" ID="cl" Text='<%# DataBinder.Eval(Container.DataItem, "Id") %>' />
对