私は<asp:FormView ID="FormView1" runat="server">
を持っています。FormViewにバインドされたフィールドの値を取得する方法
私のコードビハインドでは、Page_LoadではSQLデータソースをFormView1にバインドします。
FormView1.DataBind();
の直後にPage_LoadのDataSourceのフィールドの1つの値にアクセスする必要があります。
ローカルウィンドウのデバッグ中に、FormView1のDataItemプロパティのすべてのフィールドが表示されます。
しかし、これらのフィールドの値にアクセスするコードはわかりません。
注:このフィールドはフォームでは使用されていません。 asp:ラベルの表示/非表示を設定するには、その価値が必要です。
FormView1.DataSource = from prop in dataContext.Properties
join sub in dataContext.SuburbsWithProperties on prop.SuburbID equals sub.SuburbID
where prop.PropertyID == propNo
select new
{
prop.PropertyID,
prop.SuburbID,
prop.Rent,
etc
}
**** ConnorsFanの助けを借りて、フィールド値を取得することができました。
var dataItem = formView1.DataItem as object;
var dataItemFields = dataItem.GetType().GetProperties().ToDictionary(x => x.Name, x => x.GetValue(dataItem, null));
var fieldValue = (string)dataItemFields["MyFieldName"];
残念ながら、 'DataRowView drv = FormView1.DataItem as DataRowView;はnullを返します。デバッグで 'FormView1.DataItem'はdefintielyです。 – ThomasAJ
ありがとうConnorsFan、私はあなたの他の提案と一緒に ' 'これであまりにも長い間私の頭を打つ。しかし、私はまだ私の質問を働かせたいです。 –
ThomasAJ
LocalsにFormView1.DataItemがある場合、そのデータ型が表示されます。それは何ですか? DataRowViewではありませんか?あなたはあなたの質問に地元のウィンドウの画像を挿入することができます。 – ConnorsFan