我有一个用C#编写的函数,它驻留在ASPX应用程序的12个单独页面上。我已经在App_Code中使用了cs文件,所以这不是问题。
以下是HTML中的调用:
<asp:Image ID="Image1" runat ="server" ImageUrl='<%# (string) FormatImageUrl( (string) Eval("Image")) %>' />
以下是方法:
protected string FormatImageUrl(string url)
{
if (url != null && url.Length > 0)
return ("~/" + url);
else return null;
}
(我可以添加一个很棒的发现。)
我想将此方法移至App_Code并从多个页面引用一个实例。
我已经考虑在HTML代码中添加namespace.function.method,但这会引发错误。
我也考虑过使用DLL作为方法,但我仍然不能 在HTML代码中正确引用它。
答案 0 :(得分:1)
在过去的几天里,我花了一些时间参与智库模式,最后提出了解决方案。
我创建了一个名为ImageFormatter.cs的App_Code类文件,它看起来像这样:
/// <summary>
/// Summary description for ImageFormatter
/// </summary>
public class ImageFormatter
{
public ImageFormatter()
{
//
// TODO: Add constructor logic here
//
}
public static string FormatImageUrl(string url)
{
if (url != null && url.Length > 0)
return ("~/" + url);
else return null;
}
}
注意:我删除了NameSpace definitioin和相关的{和}。
我在应用程序的两个页面中注释掉了FormatImageUrl函数来测试我的理论。
我在相同的两个文件中修改了HTML代码。
<asp:Image ID="Image1" runat ="server" ImageUrl='<%# (string) ImageFormatter.FormatImageUrl( (string) Eval("Image")) %>' />
所以对于那些需要将函数移动到类的人来说: