赋值的左侧必须是变量

时间:2013-11-07 18:03:52

标签: c# asp.net linq

尝试将数据库(Linq to 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
}

6 个答案:

答案 0 :(得分:5)

尝试:

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

您无法将分配给功能结果。在您的情况下,lblSeeNow.Text的类型为String,因此使用ToString();您的Int值的方法。

答案 1 :(得分:0)

您需要使用

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

答案 2 :(得分:0)

Convert.ToInt64(lblSeeNow.Text) = visit.See;

如你所述,这就是问题所在。

Convert.ToInt64是一种方法。但是你正试图为它保存一个值。

你不能。

就这样做

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

答案 3 :(得分:0)

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

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

答案 4 :(得分:0)

我想你想要

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

您无法为

分配任何内容
Convert.ToInt64(lblSeeNow.Text)

因为它评估为数字。

答案 5 :(得分:0)

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

你可能想要这个:

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