エラー内容:
追加情報:項目一覧に存在しないため、'rdo******' に SelectedValue を指定することは無効です。
NULLはありえないデータだから…ということなのか。回避方法としては以下をおこなった。
①NULLの選択肢をダミーで用意する。
データセットするSQL文を以下の様にしてUNION ALL でダミーを作る。
(最初に作らないと後がややこしいのでデータ段階から行うのがよい
SELECT '' as val, '' as tmp UNION ALL SELECT CAST([情報値] AS varchar) , [情報1] FROM M_マスタ
②【rdo_DataBound_NullDisplayNone】等の関数を介してNULLの選択肢を見えなくする。
aspx
<asp:RadioButtonList id="rdotest" OnLoad="rdo_DataBound_NullDisplayNone" …
cs
protected void rdo_DataBound_NullDisplayNone(object sender, EventArgs e)
{
var rdolst = (RadioButtonList)sender;
foreach (ListItem item in rdolst.Items)
{
if ((item.Value ?? "") == "")
{
item.Attributes.Add("style", "display:none;");
item.Enabled = false;
}
}
}
これでNULL値をセットしてもエラーがでなくなった。
0 件のコメント:
コメントを投稿