【问题标题】:left hand side of an assignment must be a variable [closed]赋值的左侧必须是变量[关闭]
【发布时间】:2013-11-07 18:03:51
【问题描述】:

尝试将整数数据从数据库(Linq 到 sql)放入标签中得到此错误异常:

赋值的左侧必须是变量属性或 索引器

代码:

protected void Page_Load(object sender, EventArgs e)
{
   DataClassesDataContext data = new DataClassesDataContext();

   var visit = (from v in data.SeeSites where v.Date == todaydate select v).FirstOrDefault();
   int seennow = visit.See; // On This line I can put data in seenow variable, no problem

   Convert.ToInt64(lblSeeNow.Text) = visit.See;   // exception error appears here
}

【问题讨论】:

    标签: c# asp.net linq


    【解决方案1】:

    试试:

    if (visit.See != null) {
        lblSeeNow.Text = visit.See.ToString();
    }
    

    您不能将某些东西分配给函数结果。在您的情况下,lblSeeNow.Text 是 String 类型,因此使用 ToString();您的 Int 值的方法。

    【讨论】:

    • 当我使用此代码时出现此错误:对象引用未设置为对象的实例
    • 什么错误?可以留言吗?
    • 说明:在执行当前网络请求的过程中发生了一个未处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。异常详细信息:System.NullReferenceException:对象引用未设置为对象的实例。源错误:lblSeeNow.Text = Convert.ToString(visit.See);
    • 显然您的 visit.See 可以返回 Null 值。请参阅我修改后的答案。你为什么要使用 Convert.ToString?
    • 谢谢,我知道了,Convert.ToString 是一个函数,我们不能给它赋值。但是为什么会发生这个新错误?我检查了数据库,但未检查 See 列的“允许空值”。
    【解决方案2】:

    你需要使用

     lblSeeNow.Text = visit.See.ToString(); 
    

    【讨论】:

      【解决方案3】:
      Convert.ToInt64(lblSeeNow.Text) = visit.See;
      

      正如你所说,这就是问题所在。

      Convert.ToInt64 是一种方法。但是您正在尝试为其保存一个值。

      你不能。

      就这样做

      lblSeeNow.Text = visit.See.ToString();
      

      【讨论】:

        【解决方案4】:

        我想你想要

        lblSeeNow.Text = visit.See.ToString();
        

        你不能分配任何东西给

        Convert.ToInt64(lblSeeNow.Text)
        

        因为它的计算结果是一个数字。

        【讨论】:

          【解决方案5】:

          Convert.ToInt64(lblSeeNow.Text) 不是变量。它采用 lblSeeNow.Text 中的值并将其转换为 long。没有变量可以存储东西了。

          你可能想要这个:

          lblSeeeNow.Text = visit.See.ToString();
          

          【讨论】:

            【解决方案6】:

            您应该将整数转换为字符串,并添加检查以确保访问不为空

            lblSeeNow.Text = visit != null ? visit.See.ToString() : string.Empty
            

            【讨论】:

              猜你喜欢
              • 2012-06-29
              • 2012-07-06
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              相关资源
              最近更新 更多