Asp.net:在asp文件中从codebehind调用类

时间:2009-09-30 08:05:19

标签: asp.net code-behind

public string GetRandomImage(string StrDirectory, string StrFileName)
{
    Response.Write("Test: GetRandomImage True");
    string GetRandomImage;
    int IntFileCount = Directory.GetFiles(Server.MapPath(StrDirectory), "*.*", SearchOption.TopDirectoryOnly).Length;
    Random Random1 = new Random();
    IntFileCount = IntFileCount + 1;
    GetRandomImage = StrDirectory + StrFileName + Random1.Next(1, IntFileCount) + ".png";
    Response.Write(GetRandomImage);
    return GetRandomImage;
}

此代码位于我的代码隐藏文件(default.aspx.cs)中。我想从我的default.aspx文件中调用它。我试着用

打电话
<%# GetRandomImage("images/random/","random_") %>

但是我得到了错误。我怎样才能做到这一点?感谢所有帮助者和您的帮助。

2 个答案:

答案 0 :(得分:2)

如果是静态方法,则可以使用完全限定的命名空间调用它;如果是页面方法,则可以使用this调用它。 使用等号而不是哈希

<%= this.GetRandomImage("images/random/","random_") %>

答案 1 :(得分:0)

#需要在控件上调用DataBind()。

protected string GetRandomImage(string StrDirectory, string StrFileName)
{
    Response.Write("Test: GetRandomImage True");
    string GetRandomImage;
    int IntFileCount = Directory.GetFiles(Server.MapPath(StrDirectory), "*.*", SearchOption.TopDirectoryOnly).Length;
    Random Random1 = new Random();
    IntFileCount = IntFileCount + 1;
    GetRandomImage = StrDirectory + StrFileName + Random1.Next(1, IntFileCount) + ".png";
    Response.Write(GetRandomImage);
    return GetRandomImage;
}