Asp.net SQLDataSource更新不应包含空值
请查看以下代码:Asp.net SQLDataSource更新不应包含空值,asp.net,Asp.net,请查看以下代码: <asp:GridView ID="GVHistoricNames" runat="server" DataSourceID = "SQLHistoricNames" AutoGenerateColumns="False" AllowPaging="True" HorizontalAlign="Center" DataKeyNames="id"> <Column
<asp:GridView ID="GVHistoricNames" runat="server"
DataSourceID = "SQLHistoricNames" AutoGenerateColumns="False"
AllowPaging="True" HorizontalAlign="Center" DataKeyNames="id">
<Columns>
<asp:TemplateField HeaderText="id">
<ItemTemplate>
<asp:HyperLink ID="idHyperlink" runat="server" NavigateUrl='<%# Eval("id", "frmidHistoricNames.aspx?id={0}") %>' Text='<%# Bind("id") %>'></asp:HyperLink>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="LastUpdated">
<ItemTemplate>
<asp:Label ID="LastUpdatedLabel" runat="server" Text='<%# Bind("LastUpdated") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="LastChecked">
<ItemTemplate>
<asp:Label ID="LastCheckedLabel" runat="server" Text='<%# Bind("LastChecked") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Usercode">
<ItemTemplate>
<asp:DropDownList ID="ddlUsercode" runat="server" SelectedValue='<%# Bind("Usercode") %>'>
</asp:DropDownList>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField ShowHeader="False">
<ItemTemplate>
<asp:LinkButton ID="UpdateHistoricName" runat="server" CausesValidation="False" CommandName="Update" Text="Update"></asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
<asp:SqlDataSource ID="SQLidHistoricNames" runat="server" UpdateCommand="update dbaperson set Usercode=@Usercode WHERE ID=@ID">
<SelectParameters>
<asp:Parameter Name="Usercode" Type="String" />
</SelectParameters>
<UpdateParameters>
<asp:Parameter Name="id" Type="Int32" />
<asp:Parameter Name="Usercode" Type="String" />
</UpdateParameters>
运行update语句时,@Usercode的参数始终为null。@ID的参数不正确。为什么@Usercode的参数值为空?我不知道如何解决这个问题(我通常会单步执行代码,但这都是声明性的)。您不也需要
@破折号吗,我已经更新了问题。更新参数在那里。您的下拉列表中似乎没有任何项目
@Richard Deeming,下拉列表是在代码隐藏中创建的。