我正在为一个学校项目做这个网站,当我运行这个网站时,我有一个GridView,我选择一个注册表,然后它打开FormView,其中包含所选注册表的所有详细信息
现在,当我在FormView上点击Edit时,它会给我以下错误: 'ddl_SelectMae'具有无效的SelectedValue,因为它在项目列表中不存在。参数名称:值
我知道,出现此错误是因为字段“Mãe”上的值为null,但我看到了数据库,该值可以为null。 (同样的错误适用于“Pai”和“Comprador”字段)
这里是发生错误的代码部分,我可以根据需要放置所有代码
<asp:FormView ID="fv_Alteracoes" runat="server" DataKeyNames="idCao" DataSourceID="SqlDS_InsEdiDel">
<EditItemTemplate>
<table>
<tr>
<td>Mãe:</td>
<td>
<asp:DropDownList ID="dll_SelectMae" runat="server" DataSourceID="SqlDS_ListarMae" DataTextField="idCao" DataValueField="idCao"
SelectedValue='<%# Bind("Mae") %>'>
</asp:DropDownList>
<asp:SqlDataSource runat="server" ID="SqlDS_ListarMae" ConnectionString='<%$ ConnectionStrings:ConnectionString %>'
SelectCommand="SELECT [idCao], [Nome] FROM [tbl_Cao] WHERE ([Sexo] = 'F')">
</asp:SqlDataSource>
</td>
</table>
<asp:LinkButton runat="server" Text="Update" CommandName="Update" ID="UpdateButton" CausesValidation="True" />
<asp:LinkButton runat="server" Text="Cancel" CommandName="Cancel" ID="UpdateCancelButton" CausesValidation="False" />
</EditItemTemplate>
如果我这样做但是注册表中填写了所有详细信息,那么该网站将按照我的要求100%工作
Image of website working perfectly
有人可以帮我解决这个错误并让DropDownList编辑字段吗?
PS:对不起我的英语,但我是葡萄牙语,谢谢你的帮助
答案 0 :(得分:0)
更改您的数据源,以便允许null为:
SELECT [idCao], [Nome] FROM [tbl_Cao] WHERE ([Sexo] = 'F')
union
Select null,'None'