错误提示:
编译错误
说明: 在编译向该请求提供服务所需资源的过程中出现错误。请检查下列特定错误详细信息并适当地修改源代码。
编译器错误信息: CS0103: 当前上下文中不存在名称“AddUser”
源错误:
行 35:
行 36: //添加用户 部门还没添加
行 37: AddUser(straccount, strPwd, tbx_name.Text.Trim(), rbl_sex.SelectedIndex, tbx_tel.Text.Trim(), dpl_question.SelectedIndex, tbx_answer.Text.Trim());
行 38:
行 39: //重新定向到首页面
源文件: d:\xsgl\reg.aspx.cs 行: 37 AddUser这个函数我放在了App_Code目录下的Database.cs文件中,不是说App_Code中的文件自动链接到应用程序,而不需要在页面中添加任何显式指令吗?为什么还会出现上面的错误?
编译错误
说明: 在编译向该请求提供服务所需资源的过程中出现错误。请检查下列特定错误详细信息并适当地修改源代码。
编译器错误信息: CS0103: 当前上下文中不存在名称“AddUser”
源错误:
行 35:
行 36: //添加用户 部门还没添加
行 37: AddUser(straccount, strPwd, tbx_name.Text.Trim(), rbl_sex.SelectedIndex, tbx_tel.Text.Trim(), dpl_question.SelectedIndex, tbx_answer.Text.Trim());
行 38:
行 39: //重新定向到首页面
源文件: d:\xsgl\reg.aspx.cs 行: 37 AddUser这个函数我放在了App_Code目录下的Database.cs文件中,不是说App_Code中的文件自动链接到应用程序,而不需要在页面中添加任何显式指令吗?为什么还会出现上面的错误?
解决方案 »
- 怎么记录会员当天的登录次数?
- System.NullReferenceException: 未将对象引用设置到对象的实例
- 关于用户控件不显示及事件失效的奇怪问题
- 我不想用UrlReWrite~~怎么写?
- 当向sql server中插入一条记录时,就会触发web服务器的事件执行某操作,怎么办啊?
- 页面跳转问题
- 有做过电子地图的高人吗?指点一下
- ASP.Net程序部署在专业服务器上反而性能大幅下降。求解!
- submitHandler提交表单问题
- 求助:如何获取String的字节数?
- Response.Write("<script>alert('保存成功!');</script>")语句无效
- ajax中,在新闻更新时,打开更新页面,把数据库中的数据在js的pageload中运行的获取数据库信息的回调函数里赋值给fckeditor!却不成功?
就可以直接用“类名.静态方法”直接调用了
reg.aspx.csusing System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;public partial class reg : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{ }
protected void btn_agree_Click(object sender, EventArgs e)
{
//判断页面是否有效
if (Page.IsValid)
{
//验证用户名是否重用
CheckUser();
//验证密码是否合法
//CheckPwd();
//验证码是否正确
CheckCode();
//如果全部正确,操作数据库
if (CheckCode() == true && CheckUser() == true)
{
//用户数据加密
string strPwd = System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(tbx_pwd.Text.Trim(), "md5");
string straccount = tbx_account.Text.Trim(); //添加用户 部门还没添加
AddUser(straccount, strPwd, tbx_name.Text.Trim(), rbl_sex.SelectedIndex, tbx_tel.Text.Trim(), dpl_question.SelectedIndex, tbx_answer.Text.Trim()); //重新定向到首页面
Response.Redirect("Default.aspx");
}
}
}
//验证用户名是否被使用
public bool CheckUser()
{
string account0 = tbx_account.Text.Trim();
//检查account是否重用
if(IsUsed(account0)==true)
{
lbl_account.Text="该用户名已经被使用!";
lbl_account.Visible=true;
return false;
}
else
{
return true;
}
}//验证码是否正确
public bool CheckCode()
{
//验证码
if (String.Compare(Session["CheckCode"].ToString(), tbx_chkcode.Text.Trim(), true) != 0)
{
lbl_chkcode.Text = "验证码错误,请输入正确的验证码。";
lbl_chkcode.Visible = true;
return false;
}
else
{
return true;
}
}
}App_Code目录下的Database.cs文件代码:
/*----------------------------------------------------------------
// Copyright (C) 2008 熊旭东
// 版权所有。
//
// 文件名:database.cs
// 文件功能描述:数据库操作函数
//
//
// 创建标识:
//
// 修改标识:
// 修改描述:
//
// 修改标识:
// 修改描述:
//----------------------------------------------------------------*/using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;/// <summary>
/// Database 的摘要说明
/// </summary>
public class Database : System.Web.UI.Page
{
public Database()
{
//
// TODO: 在此处添加构造函数逻辑
//
}
//读取配置文件中的数据库连接字符串
public string getstring()
{
//读取数据库连接字符串
string settings = Convert.ToString(ConfigurationManager.ConnectionStrings["SqlServices"]);
return settings;
}
//---------------------------------------------------------------------------------
// 注册时使用类
//---------------------------------------------------------------------------------
//检查用户名地址是否可用
public bool IsUsed(string account)
{
SqlConnection myconn = new SqlConnection(getstring());
//打开数据库连接
myconn.Open(); //创建数据库命令
SqlCommand mycmd = new SqlCommand("CheckUser", myconn);
//设置数据库命令类型为存储过程
mycmd.CommandType = CommandType.StoredProcedure; //命令参数
SqlParameter accountparameter = mycmd.Parameters.Add("@UserAccount", SqlDbType.NVarChar, 50);
accountparameter.Value = account; SqlDataReader mydr = mycmd.ExecuteReader();
try
{
if (mydr.Read())
{
return true;
}
else
{
return false;
}
}
finally
{
//关闭操作
mydr.Close();
myconn.Close();
}
} //注册新用户-添加基本信息
public void AddUser(string account, string pwd, string username, int sex, string usertel, string question, string answer)
{
//获取用户IP地址
string userIP = Request.UserHostAddress.ToString(); //创建数据库连接对象
SqlConnection myconn = new SqlConnection(getstring()); //打开数据库连接
myconn.Open(); //创建数据库命令
SqlCommand mycmd = new SqlCommand("UserReg", myconn);
//设置数据库命令类型为存储过程
mycmd.CommandType = CommandType.StoredProcedure; //命令参数 SqlParameter accountparameter = mycmd.Parameters.Add("@UserAccount", SqlDbType.NVarChar, 50);
accountparameter.Value = account; SqlParameter userpwd = mycmd.Parameters.Add("@UserPwd", SqlDbType.NVarChar, 50);
userpwd.Value = pwd; SqlParameter usernameparameter = mycmd.Parameters.Add("@UserName", SqlDbType.NVarChar, 50);
usernameparameter.Value = username; SqlParameter sexparameter = mycmd.Parameters.Add("@Sex", SqlDbType.Int);
sexparameter.Value = sex; SqlParameter usertelparameter = mycmd.Parameters.Add("@UserTel", SqlDbType.NVarChar,50);
usertelparameter.Value = usertel; SqlParameter questionparameter = mycmd.Parameters.Add("@Question", SqlDbType.NVarChar, 50);
questionparameter.Value = question; SqlParameter answerparameter = mycmd.Parameters.Add("@Answer", SqlDbType.NVarChar, 50);
answerparameter.Value = answer; SqlParameter userip = mycmd.Parameters.Add("@UserIP", SqlDbType.NVarChar, 50);
userip.Value = userIP; SqlParameter regdate = mycmd.Parameters.Add("@RegDate", SqlDbType.DateTime);
regdate.Value = DateTime.Now; mycmd.ExecuteNonQuery();
myconn.Close();
} //显示所有用户信息
public SqlDataReader UserDetail()
{
SqlConnection myconn = new SqlConnection(getstring());
//打开数据库连接
myconn.Open(); //创建SQL查询
string strsql = "select * from users";
//创建命令对象
SqlCommand mycmd = new SqlCommand(strsql, myconn); SqlDataReader dr = mycmd.ExecuteReader(CommandBehavior.CloseConnection);
return dr;
}
}
我操作的时候没有在VS2005环境下进行的!
直接自己在主目录下建了一个App_Code文件夹,然后把Database.cs拷贝进去的!
是不是这样的操作的问题?
你要使用database里的非静态方法。必须先创建一个database实例,如:database db=new database()
然后再用db.adduser()
你的Database.cs里:
public void AddUser()改为:public static void AddUser()
定义成静态方法。然后直接在reg.aspx.cs里这样用就行:Database.AddUser(),很直观的这样
解决的办法就是选中你的类文件,在属性中”高级“中的”生成操作“默认”内容“要改为编译就可以了。