4

尝试将整数数据从数据库(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
}
4

6 回答 6

7

尝试:

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

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

于 2013-11-07T18:05:52.073 回答
0

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

lblSeeNow.Text = visit != null ? visit.See.ToString() : string.Empty
于 2013-11-07T18:06:07.167 回答
0

我想你想要

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

你不能分配任何东西给

Convert.ToInt64(lblSeeNow.Text)

因为它计算为一个数字。

于 2013-11-07T18:06:33.620 回答
0

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

你可能想要这个:

lblSeeeNow.Text = visit.See.ToString();
于 2013-11-07T18:06:48.767 回答
0

你需要使用

 lblSeeNow.Text = visit.See.ToString(); 
于 2013-11-07T18:05:53.317 回答
0
Convert.ToInt64(lblSeeNow.Text) = visit.See;

正如你所提到的,这就是问题所在。

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

你不能。

就这样做

lblSeeNow.Text = visit.See.ToString();
于 2013-11-07T18:06:00.870 回答