我是ASP.NET C#的新手。我尝试按照本教程页面使用全局功能,但没有运气。 http://aspnet.4guysfromrolla.com/articles/122403-1.aspx
我尝试做的是在我的代码中使用全局函数。我有一个名为“FormatDateNoTime”的函数。我在App_Code文件夹下创建了一个Class文件。但是当我在我的一个代码页面(例如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()。
请帮忙。提前谢谢。
答案 0 :(得分:2)
右键单击App_Code中的源文件,并将其“Build Action”属性设置为“Compile”。单击App_Code中的.cs文件并点击 F4 键(或右键单击 - &gt;属性),您会看到“构建操作”的选项 这样,它将在App_Code文件夹中构建代码,您应该能够在类中访问静态方法。如果上面没有帮助,请从app_code中删除该类并将其放在根文件夹中并尝试编译它。
答案 1 :(得分: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,但这是供你探索的。