两个表,是一对多的关系,两个表之间的关系我没有做约束,所以a表中的外键所指向的记录可以被任意删除
这就导致一个问题了,程序里面本来是用DropDownList的数据绑定
是用了SelectedValue来默认选择所指向的记录,但是当该记录已经被删除
也就是说DropDownList的items里面没有SelectedValue这个值,asp.net就会报错
我想不通为什么这样设计,如果没有这个值,直接忽略SelectedValue不就行了吗
为了asp.net这个愚蠢的设计我得写上一堆代码来处理
是的下面只是一下段,可是我有几十个位置需要这样写
谁有简略一点最好一句代码都不写的方法解决这个问题吗?
protected void FormView1_DataBinding(object sender, EventArgse)
{
LabellastNameLabelControl = (Label)sender;
FormViewformViewContainer =(FormView)lastNameLabelControl.NamingContainer;
DataRowView rowView =(DataRowView)formViewContainer.DataItem;
ExamSystem.Entities.TList<Teachers>teachers = Teachers.GetAll();
DropDownList ddl =lastNameLabelControl.FindControl("dataTeacherId") asDropDownList;
if (ddl != null)
{
ddl.DataSource = teachers;
ddl.DataBind();
ddl.SelectedIndex =ddl.Items.IndexOf(ddl.Items.FindByValue(rowView["TeacherId"].ToString()));
}
}