将varchar值'YES'转换为数据类型int时,ASP.NET 4.6转换失败

时间:2018-03-28 20:56:18

标签: c# webforms visual-studio-2017 asp.net-4.6

请帮助,因为这是我对项目的时间敏感问题。问题是我有一个GridView,在GridView中我有一个列需要'YES'或'NO'响应。我在EditItemTemplate中使用下拉列表从数据库中获取不同或唯一的选择。如图所示,所有内容都可以从数据源中加载和显示:

GridView from datasource when page loads

当我点击编辑按钮时,字段会正确显示,您可以从这张图片中看到:

enter image description here

但是,当我选择“是”或“否”时,单击“更新”;我收到以下错误:

enter image description here

以下是我的.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>

他是我数据库中表格的图片:

enter image description here

对于记录,数据库中的所有数据都是测试(虚构)数据,因此没有PII问题。

所以问题是:发生了什么?为什么我收到此错误?最重要的是,我该如何纠正这个问题?

我尝试过使用radiobuttonlist,但也遇到了错误。我已经尝试在下拉列表中对选择进行硬编码并得到了我在这里得到的相同错误,并且我已经对这一个问题进行了数小时和数小时的研究。

非常感谢任何和所有帮助!

0 个答案:

没有答案