请帮忙,因为这是我在项目中遇到的时间敏感问题。问题是我有一个 GridView 并且在该 GridView 中我有一列需要“是”或“否”响应。我正在使用 EditItemTemplate 中的下拉列表从数据库中获取不同或唯一的选择。正如您在这张图片中看到的,一切都从数据源加载并显示正常:
当我单击编辑按钮时,字段会正确显示,您可以从这张图片中看到:
但是,当我选择“是”或“否”并单击更新时;我收到以下错误:
这是我的 .aspx 代码片段
<asp:TemplateField HeaderText="Required" SortExpression="IsRequired">
<EditItemTemplate>
<asp:DropDownList ID="DropDownList2" runat="server" AutoPostBack="True" DataSourceID="dsIsRequiredDDL" DataTextField="IsRequired" DataValueField="IsRequired"></asp:DropDownList>
<asp:SqlDataSource ID="dsIsRequiredDDL" runat="server" ConnectionString="<%$ ConnectionStrings:BITSDevConnectionString %>" SelectCommand="SELECT DISTINCT [IsRequired] FROM [EmpCertType]"></asp:SqlDataSource>
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="Label1" runat="server" Text='<%# Bind("IsRequired") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
他是我数据库中表的图片:
作为记录,数据库中的所有数据都是测试(虚构)数据,因此不存在 PII 问题。
所以问题是:发生了什么?为什么我会收到此错误?最重要的是,我该如何纠正这个问题?
我尝试过使用单选按钮列表,但也遇到了错误。我已经尝试对下拉列表中的选择进行硬编码,并得到了与这里相同的错误,而且我已经对这个问题进行了数小时的研究。
非常感谢任何和所有帮助!