說我有這個中繼器,它使用了一個名爲測試代碼隱藏的公共功能。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