2

我是 ASP.NET C# 的新手。我尝试按照本教程页面制作一个全局使用的函数,但没有运气。 http://aspnet.4guysfromrolla.com/articles/122403-1.aspx

我尝试做的是在我的代码中的任何位置使用全局函数。我有一个名为“FormatDateNoTime”的函数。我在 App_Code 文件夹下创建了一个类文件。但是当我在我的页面后面的代码之一(例如 Page1.aspx.cs)中调用该函数时,它给了我错误:

错误:当前上下文中不存在名称“MyClass”

App_Code 文件夹下的 MyClass.cs 文件。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

/// <summary>
/// Summary description for Class1
/// </summary>
public class MyClass
{

        //
        // TODO: Add constructor logic here
        //

        public static string FormatDateNoTime(string input)            {
            string thedate;
            DateTime strDate = DateTime.Parse(input);
            thedate = strDate.ToString("MM/dd/yyyy");
            return thedate;
        }
}

我的 Page1.aspx.cs 中的代码调用了 FormateNoTime 函数

TextBox BeginDate = (TextBox)FormView1.FindControl("BeginDate");
BeginDate.Text = MyClass.FormatDateNoTime(objDs.Tables[0].Rows[0]["BeginDate"].ToString());

其他页面似乎无法识别这个 class.function()。

请帮忙。提前致谢。

4

2 回答 2

2

右键单击 App_Code 中的源文件并将其"Build Action"属性设置为"Compile"。单击 App_Code 中的 .cs 文件并按F4键(或右键单击 -> 属性),您应该会看到“构建操作”选项 这样,它将在您的 App_Code 文件夹中构建代码,您应该能够访问您的类中的静态方法。如果上述方法没有帮助,请从 app_code 中删除该类并将其放入根文件夹并尝试编译它。

于 2012-10-19T16:16:56.373 回答
1

您拥有的代码无法编译。当您尝试运行 Visual Studio 时,我很确定它会引发错误。注意它在说什么。

此外,更改以下内容:

public static string FormatDateNoTime(object sender, EventArgs e)
{
    string thedate;
    DateTime strDate = DateTime.Parse(input);
    thedate = strDate.ToString("MM/dd/yyyy");
    return thedate;
}

public static string FormatDateNoTime(String input)
{
    string thedate;
    DateTime strDate = DateTime.Parse(input);
    thedate = strDate.ToString("MM/dd/yyyy");
    return thedate;
}

我会进一步验证输入是否可解析为 DateTime,但这是供您探索的。

于 2012-10-19T16:36:08.787 回答