在asp.net 页面中 使用了repeater控件,代码如下:
<asp:Repeater ID= "tt " runat= "server ">
<ItemTemplate>
<%# DataBinder.Eval(Container.DataItem, "Title ") %>
<%# DataBinder.Eval(Container.DataItem, "ID ") %>
</ItemTemplate>
如果我在数据绑定中想使用函数 比如有如下函数:
public string ProcessID(int id)
{
.......
return string;
}
我想把每个的ProcessID显示在Title后面,但是发现 <%# %> 标签内是不能访问页面的函数的,不知道该怎么办,repeater难道就只能现实Datatable中的现有的东西了么?我想进行一点点的处理都不行那?
------解决方案--------------------------------------------------------
<%# DataBinder.Eval(Container.DataItem, "Title ").ToString()+ProcessID(Convert.ToInt(DataBinder.Eval(Container.DataItem, "ID "))) %>
------解决方案--------------------------------------------------------
但是发现 <%# %> 标签内是不能访问页面的函数的
=========
绝对可以!
<ItemTemplate>
<%# DataBinder.Eval(Container.DataItem, "Title ") %>
<%# DataBinder.Eval(Container.DataItem, "ID ") %>
<%# ProcessID(911) %>
<%# ProcessID((int)DataBinder.Eval(Container.DataItem, "ID ")) %>
</ItemTemplate>
------解决方案--------------------------------------------------------
可以的,不能访问大概是因为函数是private
------解决方案--------------------------------------------------------
可以在 <%# %> 中绑定方法的,楼主再检查检查代码