0

我正在设置一个 Sharepoint Web 部件,用于跟踪我们各种产品的语言翻译。我可以创建翻译,现在我正在尝试重新填充表单控件,如果有人选择了一个已经有翻译的项目,即他们选择“French-ProductX”并且各种 texboxes 填充了该翻译的数据/产品。

我的 LINQ 查询正在提取正确的数据(项目名称是用户在下拉菜单中选择的产品)。

   var query = from translation in Translations
               where (Convert.ToString(translation.Name)) == itemname
               select translation;

我可以将查询绑定到网格,看看我得到了正确的数据,但在那之后我就卡住了。我想提取两个字段(开始),“描述”和“功能”作为字符串并填充它们对应的 asp:TextBoxes。

我尝试转换为数组,它仍然正确绑定,但它没有索引字段,它被视为翻译类型的单个项目。

我尝试了 IEnumerable 查询并转换为数据视图,但在无法解决的 WHERE 子句上出现了转换错误。

我试过这个,但 VS 说“myitem”是一个未分配的局部变量。

   var query = from translation in Translations
               where (Convert.ToString(translation.Name)) == itemname
               select new { myitem = translation.Description, features = translation.Features };

   ItemDescription.Text = myitem;

这似乎应该是一件简单的事情,我只是在这里遗漏了什么吗?

4

1 回答 1

0

发生的事情是你得到一个匿名类型的 IEnumerable,它具有 myitem 和 features 的属性。

您需要将最后一行更改为:

ItemDescription.Text = query.First().myitem;
于 2013-03-01T23:27:59.913 回答