さまざまな製品の言語翻訳を追跡するために、SharepointWebパーツをセットアップしています。翻訳を作成できます。誰かがすでに翻訳されているアイテムを選択した場合、つまり「French-ProductX」を選択し、さまざまなtexboxにその翻訳のデータが入力された場合、フォームコントロールを再入力しようとしています/製品。
私のLINQクエリは正しいデータを取得しています(itemnameはユーザーがドロップダウンメニューで選択した製品です)。
var query = from translation in Translations
where (Convert.ToString(translation.Name)) == itemname
select translation;
クエリをグリッドにバインドして、正しいデータを取得していることを確認できますが、その後は行き詰まります。プルしたい2つのフィールド(最初は「説明」と「機能」)が文字列としてあり、対応する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;
これは単純なことのようですが、ここで何かが足りないのでしょうか。