asp.net – 如何修复“’ddlAssignedTo’有一个无效的SelectedValue,因为它在项目列表中不
发布时间:2020-05-24 13:02:14 所属栏目:asp.Net 来源:互联网
导读:我加载了gridview,gridview有一个编辑和删除按钮. 我点击编辑,我得到,“ddlAssignedTo”有一个无效的SelectedValue,因为它在项目列表中不存在. 参数名称:值 我知道我收到此错误,因为fo ddlAssignedTo的值为null – ddlAssignedTo的db上没有任何内容. 我所要
|
我加载了gridview,gridview有一个编辑和删除按钮. 我点击编辑,我得到,“ddlAssignedTo”有一个无效的SelectedValue,因为它在项目列表中不存在. 我知道我收到此错误,因为fo ddlAssignedTo的值为null – ddlAssignedTo的db上没有任何内容. 我所要做的就是更新当前值. 所以,我的问题是,如果当前值为null,我如何为ddlAssignedTo分配一个默认值,这样如果db上当前没有值,默认值将占优势? 这是一些代码: 标记: <asp:TemplateField HeaderText="Assigned To">
<EditItemTemplate>
<asp:DropDownList ID="ddlAssignedTo" runat="server"
DataSourceID="SubjectDataSource"
DataTextField="fullname" DataValueField="empl_Id"
SelectedValue='<%# Bind("AssignedTo") %>'>
<asp:ListItem Value="">--Select Name--</asp:ListItem>
</asp:DropDownList>
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="lblAssigned" runat="server"
Text='<% #Bind("fullname") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField
<asp:SqlDataSource ID="SqlDataSource1" runat="server"
ConnectionString="<%$ConnectionStrings:ConnectionString %>"
SelectCommand="SELECT Distinct [rownum],[reqnum],AssignedTo,(empl_first + ' ' + empl_last) fullname,[reqrecdate],[reqrecfrom],[skillsets],[application],[hoursperweek],[fromdate],[todate],[status],[statusupdate],[statusupby] FROM [requestinfo] left join employee on requestInfo.AssignedTo=employee.empl_id ORDER BY [reqnum]"
UpdateCommand="INSERT INTO [requestinfo] ([reqnum],[statusupby],[AssignedTo]) VALUES (@reqnum,@reqrecdate,@reqrecfrom,@skillsets,@application,@hoursperweek,@fromdate,@todate,@status,@statusupdate,@statusupby,@empl_id)">
<DeleteParameters>
<asp:Parameter Name="rownum" Type="Int32" />
</DeleteParameters>
<UpdateParameters>
<asp:Parameter Name="reqnum" Type="String" />
<asp:Parameter DbType="DateTime" Name="reqrecdate" />
<asp:Parameter Name="reqrecfrom" Type="String" />
<asp:Parameter Name="skillsets" Type="String" />
<asp:Parameter Name="application" Type="String" />
<asp:Parameter Name="hoursperweek" Type="Int32" />
<asp:Parameter DbType="DateTime" Name="fromdate" />
<asp:Parameter DbType="DateTime" Name="todate" />
<asp:Parameter Name="status" Type="String" />
<asp:Parameter DbType="DateTime" Name="statusupdate" />
<asp:Parameter Name="statusupby" Type="String" />
<asp:Parameter Name="empl_id" Type="String" />
<asp:Parameter Name="rownum" Type="Int32" />
</UpdateParameters>
</asp:SqlDataSource>
<asp:SqlDataSource ID="SubjectDataSource" runat="server"
ConnectionString="<%$ConnectionStrings:ConnectionString %>"
SelectCommand="SELECT empl_id,(empl_first + ' ' + empl_last) fullname FROM dbo.Employee order by empl_last">
</asp:SqlDataSource>
代码隐藏: Protected Sub GridView1_RowUpdating(ByVal sender As Object,ByVal e As GridViewUpdateEventArgs) Handles GridView1.RowUpdating
Dim dd As DropDownList = DirectCast(GridView1.Rows(e.RowIndex).FindControl("ddlstatus"),DropDownList)
e.NewValues("status") = dd.SelectedItem.Text
Dim ddAssigned As DropDownList = DirectCast(GridView1.Rows(e.RowIndex).FindControl("ddlAssignedTo"),DropDownList)
If String.IsNullOrEmpty(ddAssigned.SelectedValue) Then
ddAssigned.SelectedValue = "shhhh"
Else
e.NewValues("empl_id") = ddAssigned.SelectedValue
End If
SqlDataSource1.DataBind()
End Sub
解决方法看一下@ cosmin.onea在问题 ‘DropDownList1’ has a SelectedValue which is invalid because it does not exist in the list of items中提供的解决方案此解决方案在DropDownList上设置AppendDataBoundItems =“true”并创建一个可空的ListItem,以便即使表中的字段为空,DropDownList也将绑定. 应用于OP的问题,以下代码段将提供在AssignedTo字段为空时选择的选项. <asp:DropDownList ID="ddlAssignedTo" runat="server"
DataSourceID="SubjectDataSource"
DataTextField="fullname" DataValueField="empl_Id"
SelectedValue='<%# Bind("AssignedTo") %>'
AppendDataBoundItems="true">
<asp:ListItem Text="Select" Value="" />
</asp:DropDownList> (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net – 在代码而不是数据库中存储salt
- asp.net – 允许服务器/ usercontrol上的任何属性/属性
- asp.net-mvc – 实体创建抛出“没有为此对象定义的无参数构
- asp.net-mvc – 通知面板类似于stackoverflow的
- asp.net-mvc-2 – 使用或不使用AutoMapper的“合并”模型和
- asp.net – 从Web应用程序编辑MS Office文档:自定义WebDaV
- asp.net-mvc – 将id类型从string更改为int时,如何在Web AP
- asp.net-mvc – Url.Action如何从模型中添加参数值
- asp.net – ASP .NET MVC中的TinyMCE Spellchecker
- asp.net – 是否可以根据用户角色隐藏/显示Kendo网格列?
