说我有这个中继器,它使用了一个名为测试代码隐藏的公共功能。asp.net在中继器中是否可以调用另一个类的公共函数?
<asp:Repeater ID="Repeater1" runat="server">
<HeaderTemplate>
<table>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td><%# Eval("MyCol1")%></td>
<td><%# Eval("MyCol2")%></td>
<td><%# Test((int)Eval("MyCol1"))%></td>
</tr>
</ItemTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</asp:Repeater>
在我的代码隐藏,我有这个功能
public string Test (int Value)
{
return "Test"+Value.ToString();
}
这工作得很好,但在我的网站,我会在不同的页面类似中继器,其中大部分将需要调用的测试功能。而不是在每个网页的代码隐藏中,它可能会放在一个公共静态类,直接从中继器调用它?这样的事情(不工作):
<td><%# MyStaticClass.Test((int)Eval("MyCol1"))%></td>
我想出的唯一的解决办法是隐藏的代码转换功能在到:
public string Test (int Value)
{
return MyStaticClass.Test(Value);
}
但它会整洁如果我不必在每个网页的代码隐藏(即我希望中继器直接调用静态函数)的任何代码。
任何想法或建议吗?
是的,我愿意。你能举一个例子,我将如何从中继器调用存储在母版页中的公共函数? – Anthony 2009-11-23 09:58:23
更新了答案,让我知道你是如何得到的。 – adrianos 2009-11-23 10:15:17
确实有效。谢谢!现在的问题是:将这些常用函数放在主页面还是基类中更好?如果我有多个母版页,那么使用基类是有意义的,但在我的情况下,我只有一个母版页。决定,决定... – Anthony 2009-11-23 10:15:40