从公共静态类调用函数

时间:2012-10-19 23:11:02

标签: c# asp.net static-methods

我是ASP.NET新手。

因为我被困住了,我真的需要帮助。我在谷歌上做了很多阅读,无法弄清楚我做错了什么。

  

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

我有一个MyClass.cs文件,我喜欢在任何页面上的这个文件中重用该函数。

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

namespace MyNameSpace
{
    public static 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;
        }

        public static string test()
        {
            return "1234";
        }

    }
}

另一个Page2.aspx.cs调用此函数,但错误

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Configuration;
using System.Data.SqlClient;
using System.Data;

using MyNameSpace;

public partial class _Default : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        Response.Write(MyClass.FormatDateNoTime("02/01/2012"));
    }
}

有人可以提供帮助,我只想在任何页面中重复使用此功能。

3 个答案:

答案 0 :(得分:0)

以下是我的建议

  • 您需要通过包含MyClass或两个调用者类来导入using namespaceOfMyClass的命名空间,并且被调用的类应属于同一命名空间

  • 有时默认情况下不会编译类。右键单击解决方案资源管理器中的文件,然后单击属性。检查Build Action属性并确保其显示为"编译"

  • 从最顶层构建您的项目,例如溶液

答案 1 :(得分:0)

在此:

Response.Write(MyClass.FormatDateNoTime("02/01/2012"));

右键单击MyClass并选择“resolve”,其中应包含添加命名空间或使用该类型的完全限定名称的选项。

如果resolve不存在,请从包含Page2.aspx.cs的程序集中添加对包含MyClass.cs的程序集的引用。

答案 2 :(得分:0)

我遇到了同样的问题。我通过重新启动VS解决了这个问题。在restar之后,在我的项目中看不到有问题的类的cs文件。我再次将文件添加到解决方案资源管理器中的项目中,并构建了完整的项目。