我知道已经问过这个问题,但是我找不到任何可以帮助解决我的问题的东西。
我想将aspx
页面(Retete.aspx
)连接到Microsoft SQL数据库。我在Retete.aspx.cs
上收到此错误:
错误1类型或名称空间名称'GlobalClass'在名称空间'ProiectSera'中不存在(您是否缺少程序集引用?)
错误指向以下代码行:
ProiectSera.GlobalClass.Update(ValRefTempSol.Text, ValRefTempAer.Text);
其中
ProiectSera
是项目名称,GlobalClass
是我在数据库上执行操作的文件。我的using语句是:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using ProiectSera;
目标框架设置为.net-4.5。
我应该怎么做才能解决这个错误?
更新资料
我的GlobalClass.cs是:
using System;
using System.Data;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Data.SqlClient;
using System.IO;
using ProiectSera;
using System.Data.Services;
namespace ProiectSera.App_Code
{
public static class GlobalClass
{
static public void Update(string _param1, string _param2)
{//function to update}
}
}
App_Code是GlobalClass.cs所在的文件夹。我尝试过
ProiectSera.App_Code.GlobalClass.Update(ValRefTempSol.Text, ValRefTempAer.Text); //
但我有同样的错误。然后将GlobalClass.cs放在项目的根目录中。我还从
namespace ProiectSera.App_Code
删除了.App_Code更新1
我的Retete.aspx.cs是
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using ProiectSera;
using ProiectSera.App_Code;
namespace ProiectSera
{
public partial class Retete : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void btnSave_Click(object sender, EventArgs e)
{
string intValRefTempSol;
string intValRefTempAer;
// intValRefTempSol = ValRefTempSol.Text;
// intValRefTempAer = ValRefTempAer.Text;
// ProiectSera.App_Code.GlobalClass.Update(ValRefTempSol.Text, ValRefTempAer.Text);
GlobalClass.Update(ValRefTempSol.Text, ValRefTempAer.Text);
}
}
}
最佳答案
您的GlobalClass
位于名称空间ProiectSera.App_Code
中。
所以类名是ProiectSera.App_Code.GlobalClass
确保在ProiectSera
命名空间中也没有ProiectSera
类,否则,如果在顶部声明using ProiectSera
,它将尝试使用它(作为一般规则,请勿将任何相同的类命名为作为您的命名空间)。
如果仍然不起作用,则可能要尝试使用global
命名空间:
global::ProiectSera.GlobalClass.Update(ValRefTempSol.Text, ValRefTempAer.Text);
看看是否可行:如果不行,并且
GlobalClass
在同一个项目中,那么还有其他东西你还没有给我们看更新资料
如果您确定两个文件都在同一项目/程序集中,那么想到的唯一另一件事就是
GlobalClass.cs
并未真正被编译。确保将Build Action
设置为Compile
(您可以在解决方案资源管理器中的GlobalClass.cs
上单击鼠标右键,然后选择Properties
来查看生成操作)。