我是在做一个登陆的东西,在红色字部分出现问题,说:
“当前上下文中不存在名称“LoginName””
“当前上下文中不存在名称“PassWord””。在这里有个问题是
cmd.Parameters.AddWithValue("@UserName", LoginName);
 cmd.Parameters.AddWithValue("@Password", PassWord);
是什么意思,里面的参数代表着什么本人是刚刚接触ASP.NET,以下是登陆的代码:using System;
using System.Data.SqlClient;
using System.Web.UI;
public partial class login : System.Web.UI.Page
{
    
        protected void ButAdmit_Click(object sender, EventArgs e)
    {
        if (IsValid)    //如果页面中验证成功
        {
            string name = this.TextBox1.Text;
            string pwd = this.TextBox2.Text;            if (this.RadioButton1.Checked)
            {   
                SqlConnection conn =  ComClass.getCon();
                conn.Open();
               
                string sql = "select count(*)from TabLogin where LoginName=@name and PassWord= @pwd";
                int flag = 0;
                
                SqlCommand cmd = new SqlCommand(sql, conn);
                cmd.Parameters.AddWithValue("@UserName", LoginName);
                cmd.Parameters.AddWithValue("@Password", PassWord);

                 
                flag = (int)cmd.ExecuteScalar();//获取返回值
             
                if (flag > 0)                           //说明有该用户存在
                {
     
                   Response.Redirect("Default.aspx");                }
                else
                {
                    Response.Write("警告:用户名或密码错误 !"); 
                
                }
               conn.Close();
            }
                        else
            {                if (this.TextBox1.Text=="adminname"&& this.TextBox2.Text=="123" &this.RadioButton2.Checked )
                {                   
                Response.Redirect("Default.aspx");
  
                }
                else
                {             
                   Response.Redirect("你不是管理员 ");
                       }
                         }
                    }
    }补充:本人使用的是visual studio 2010,请各位大侠指导一下

解决方案 »

  1.   

    SqlCommand cmd = new SqlCommand(sql, conn);
      cmd.Parameters.AddWithValue("@UserName", LoginName);
    cmd.Parameters.AddWithValue("@Password", PassWord);
    先看看这几句是什么意思?
      

  2.   

    呵呵,括号里报错的地方的意思是,你所传进去的用户名和密码的值,你应该定义下这两个变量,然后去接受从文本框传来的值如:
    string LoginName= txtLoginName.text.Trim();
    string PassWord=txtPassWord.text.Trim();
    将值传进去就对了
      

  3.   

    string name = this.TextBox1.Text;
      string pwd = this.TextBox2.Text;
      

  4.   

    首先定义string LoginName=this.textbox1.text;和string PassWord=this.textbox1.text;你没偶定义,程序怎么知道LoginName PassWord是什么东西呢?是吧;AddWithValue方法有两个参数,
    第一个参数为参数名称,第二个为要添加的值,你的@UserName和@Password有点问题  你上面明明定义的是
    string sql = "select count(*)from TabLogin where LoginName=@name and PassWord= @pwd";后面怎么就成了@UserName@Password了,LZ要反思啊
    你传的参数错了不报错才怪了!
      

  5.   

    cmd.Parameters.AddWithValue("@UserName", name);
    cmd.Parameters.AddWithValue("@Password", pwd);
      

  6.   

    路过 终于找到比我菜的了 哈哈  不是笑楼主  都是这样过来的 嘻嘻  红色的意思是给sql里的参数赋值
      

  7.   

    string LoginName= txtLoginName.text.Trim();
    string PassWord=txtPassWord.text.Trim();用户密码还没有值呢!~QQ
    我有案例