如何修复“'ddlAssignedTo' 有一个无效的 SelectedValue,因为它不存在于项目列表中

2023-11-27

我加载网格视图,网格视图有一个编辑和删除按钮。

我点击“编辑”,然后我得到:“ddlAssignedTo' has a SelectedValue which is invalid because it does not exist in the list of items. Parameter name: value

我知道我收到此错误是因为ddlAssignedTo为 null - ddlAssignedTo 的数据库中不存在任何内容。

我想做的就是更新当前值。

所以,我的问题是,如果当前值为空,如何为 ddlAssignedTo 分配默认值,以便如果数据库中当前不存在值,则以默认值为准?

这是一些代码:

Markup:

<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], [reqrecdate], [reqrecfrom], [skillsets], [application], [hoursperweek], [fromdate], [todate], [status], [statusupdate], [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”的 SelectedValue 无效,因为它不存在于项目列表中

该解决方案设置AppendDataBoundItems="true" on the DropDownList并创建一个nullableListItem 以便您的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>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何修复“'ddlAssignedTo' 有一个无效的 SelectedValue,因为它不存在于项目列表中 的相关文章

  • 如何对ArrayList(int)进行排序

    我怎样才能排序Arraylist按升序和降序排列 例子 ArrayList list new ArrayList list Add 2 list Add 8 list Add 0 list Add 1 如何按升序和降序对上面的列表进行排序
  • RegularExpressionValidator 限制输入长度而不限制字符类型

    我正在尝试使用RegularExpressionValidator验证一个TextBox输入长度 我可以使用它 但它只接受字母和数字 我想允许any个字符 唯一的检查是不超过 25 个字符
  • 数据读取过程中遇到致命错误

    我正在进行定期更新表扫描 Using connect1 As New MySqlConnection ConnectLocalhost serverString connect1 Open Dim cmd New MySqlCommand
  • 使用 Group By LINQ 语句时 VB.NET 返回 IEnumerable(Of IEnumerable(Of T))

    我正在尝试转换安西姆 凯拉德INotifyDataErrorInfo执行 http burnaftercoding com post asynchronous validation with wpf 4 5 进入VB NET 一切顺利 直到
  • 需要一个好的 ASP.NET 菜单

    我正在寻找一个可以在 ASP NET 中使用的好菜单 我目前使用的是asp菜单 我需要 它可以在 IE 6 7 8 Firefox 和 Safari 中运行 我还需要它不要给页面客户端增加大量开销 我需要能够从数据库加载它 编写您自己的服务
  • 测试后 NUnit 回滚

    我对 NUnit 以及一般的自动化测试 还很陌生 我最近做了一些 Ruby On Rails 工作 并注意到在我的测试套件中 当我创建对象 例如新用户 并在套件过程中提交它们时 它们永远不会提交到数据库 以便我可以运行一遍又一遍地测试 不用
  • asp.net datalist 选择每个类别的所有复选框

    我有一个页面 用户可以在数据列表控件中选择不同的文档文件 使用预渲染事件处理程序根据类别对文档进行分类 文档是根据复选框控件 而不是复选框列表 选择的 到目前为止 一切都很好 接下来我想要发生的事情是在每个类别名称旁边放置一个 全选 复选框
  • Asp.Net Identity - 不区分大小写的电子邮件和用户名

    有没有办法让 Asp Net Identity 的电子邮件地址和用户名不区分大小写 目前 如果我调用 FindByEmailAsync email 只有在电子邮件地址完全按照键入的方式存储时 区分大小写 它才会起作用 您可以更改用户的注册方
  • 具有自定义设计的 ASP.NET 复选框

    有没有办法改变asp net复选框的ui样式 我试过这个 cabeceraCheckBoxNormal background url ig res Default images ig checkbox off gif no repeat c
  • 数据库中的 HTML 标签是不好的做法还是好的做法?

    有时我需要格式化来自数据库的特定数据或部分数据 例如 如果我有这样的 desc 存储在数据库中 HTML 4 经过调整 延伸和增强 超出了其最初的范围 为网站带来了高水平的交互性和多媒体 Flash Silverlight 和 Java 等
  • 我可以在没有 http 处理程序的情况下隐藏 ASP.NET 页面上的图像路径吗?

    我的网站结构中的目录下有许多静态图像 并且我不关心图像的热链接或复制保护 由于多种原因 我需要做的不是在网站上显示图像路径 或显示假路径 有什么方法可以在不求助于 http 处理程序或辅助 asp net 页面的情况下执行此操作吗 你可以使
  • 如何使用 javascript/ASP.NET/CSS 旋转和淡入淡出背景图像

    我需要随机淡入淡出背景图像 这将是一个定时函数 例如每 5 秒一次 我需要使用 ASP NET Javascript CSS 或全部三者来完成此操作 请大家帮帮我 谢谢 Cycle 一个 jQuery 插件 是一个非常灵活的图像旋转解决方案
  • 如果验证失败,如何在 ASP.NET MVC 中阻止 jquery ajax 提交

    我在用ASP NET 5 MVC RC1 我的 ASP NET MVC 使用的 jquery 验证插件是默认 ASP NET 5 模板项目使用的标准 jquery validate js jQuery Validation Plugin v
  • Page_ClientValidate 正在验证多次。

    我的问题是 验证摘要消息 警报 显示两次 我无法弄清楚原因 请帮忙 这是代码 function validate javascript function if typeof Page ClientValidate function var
  • ASP.NET 会话状态服务器与 InProc 会话

    运行会话状态服务器而不是 InProc 的开销性能损失是多少 重要吗 我知道您可以使用状态服务器重新启动 w3wp 并保留所有会话状态 这是相对于 InProc 的唯一优势吗 这取决于您的部署计划 在单个服务器上 损失很小 但好处同样有限
  • 如何强制网站的某些部分在 SSL 下浏览?

    我们网站上的某些部分或页面涉及敏感的用户或帐户信息 我想强制用户在 HTTPS 下浏览这些页面 而其他包含公共内容的页面应在 HTTP 下可用 我打算在 IIS 上安装 url Rewrite 模块并编写规则来实现此目的 我不知道如何在 w
  • PreRequestHandlerExecute 中的会话为空

    在我的 ASP NET 4 0 应用程序中 我在 global asax cs 中有一个 PreRequestHandlerExecute 的事件处理程序 我想访问会话中的数据 大多数时候 会话是被定义的 但有时它是空的 有人可以解释一下什
  • 为什么当输入很大时,asp.net 找不到合适的 apicontroller?

    我有一个功能可以立即保存我的实体列表 public void Save IEnumerable
  • 如何为WCF服务创建重定向?

    我的网站 A 上托管了一个 WCF 服务 我还有另一个网站 B 它使用 IIS URL 重写将所有请求重定向到我的网站 A 但是 站点 B 不处理任何对 svc 文件的请求 返回 404 not find 知道如何让它发挥作用吗 UPD重定
  • JWT - 配置授权服务器并将颁发者设置为其本身

    我正在尝试按照本指南设置授权服务器 http bitoftech net 2014 10 27 json web token asp net web api 2 jwt owin authorization server http bito

随机推荐

  • 什么是 uml 构造型以及如何使用它

    我正在为JAVA 软件设计绘制一个类UML 我实在不明白什么是刻板印象 正式定义 构造型是一个概要文件类 它定义如何将现有元类扩展为概要文件的一部分 它允许使用特定于平台或领域的术语或符号来代替或补充用于扩展元类的术语或符号 这是否意味着构
  • 将 0 移至数组末尾

    我需要将数组中的所有 0 移动到数组的末尾 示例 1 10 0 5 7 应该得到 1 10 5 7 0 我愿意做反向循环或常规循环 I cannot创建一个新数组 这是我到目前为止所拥有的 for int i arr length i lt
  • 从 csv 文件读取并根据第一列值提取某些数据列

    这是我的第一个批处理程序 我一直在网上搜索 但仍在努力编写解决方案 我有以下 CSV 文件 RH 2013 06 15 02 14 58 0400 X LQ3SUEEWPWKL6 005 FH 01 SH 2013 06 14 00 00
  • unix shell 中的数组?

    如何在 unix shell 脚本中创建数组 以下代码在 shell 中创建并打印字符串数组 bin bash array A B ElementC ElementE for element in array do echo element
  • 在 iPhone 上按下控制器时翻转动画

    我环顾四周 没有找到我真正想要的东西 有没有办法在推动视图控制器时获得翻转动画 我读到您可以通过使用模态视图控制器来更改动画 但据我所知模态视图的动画是从下到上的 这不是我想要的 有没有办法以某种方式获得翻转动画 像这样的东西应该有效 UI
  • 从控制台读取字符

    我编写控制台应用程序 它对 int 执行多次 scanf 之后 我执行 getchar int x y char c printf x n scanf d x printf y n scanf d y c getchar 结果我得到c n
  • 带 lapply 和 sapply 的日期

    我导入了一个包含大量日期的 CSV 文件 并使用 as Date 函数来转换日期 但是 当我使用 mapply 函数查找两个日期中较早的一个时 我最终要么得到一个包含日期的列表 要么得到一个数字向量 如何获得带有日期的向量 POP Star
  • 如何在没有原始 Markdown 输出的情况下使用 knitr 块将元素添加到绘图中?

    出于记录目的 我想要一些 html 输出中的情节代码 但不是情节 后来 我必须调用绘图代码 并向绘图添加一些内容 但只能看到附加代码 我试过这个 r non finished plotting eval FALSE plot 1 type
  • 我可以从 android webview 打开 Whatsapp 应用程序吗

    我制作了一个网站的网络视图 现在我想将我的网络视图中的一些数据共享到 Whatsapp 应用程序 我能够打开 Whatsapp 网页 但我的客户希望我打开 Whatsapp 应用程序而不是 Whatsapp 网页 我怎样才能做到这一点 这就
  • 最大自定义窗口失去投影效果

    我有一个自定义 WPF 窗口定义为
  • 错误 BC30456:“[方法]”不是“ASP.[CodeBehind]_aspx”的成员

    很简单的问题 我非常确定我已经正确链接了类 方法 代码隐藏等 网上很多帖子都说这与编译和 或 dll bin 文件有关 但他们的帮助都对我不起作用 Compiler Error Message BC30456 gvLegs PageInde
  • 如何在 Windows 上使用 Python 捕获 SIGINT?

    如同这个问题 在 Python 2 7 下的 UNIX 上 在 Python 提示符下 gt gt gt import signal gt gt gt def handler signal frame print welcome to th
  • 如何使用ID删除NDB实体?

    基于此文档https developers google com appengine docs python ndb entities deleting entities好吧 我仍然不确定为什么我不能在 NDB 上进行删除 def get
  • 与 JComponent 相比,在 JPanel 上绘画有什么好处?

    所以在最近的一个回答中 有人评论了这一点 关于绘画 这可能是 90 Swing 程序员的某种毛病 当他们制作自己的组件时 他们总是扩展 JPanel 而不是 JComponent 为什么呢 我对编程还很陌生 所以我认为现在称自己为 Swin
  • 从另一个apk获取资源

    我整天都在为这个问题苦苦挣扎 但没有成功 我基本上是想从另一个应用程序获取图像资源 因此 如果 com example app 在 res 文件夹中有一个名为 image1 png 的图像 我希望 com example2 app 能够访问
  • AutoMapper 将目标对象的属性设置为 null

    我有这样的事情 public class DomainEntity public string Name get set public string Street get set public IEnumerable
  • 将私钥添加到 X509Certificate

    我正在编写一些当前使用 OpenSSL net 为证书签名请求创建公钥 私钥对的代码 该请求配备有公钥并发送到 CA CA 返回签名证书 然后将之前创建的私钥添加到证书中 myCert PrivateKey CryptoKey FromPr
  • 如何从 AWS SAM 获取堆栈输出?

    我想对我的无服务器项目执行自动集成测试 为此 我需要以某种方式获取 api 端点 已经有插件 serverless stack output用于服务于该目的的无服务器框架 但我想知道在部署应用程序后如何通过 AWS SAM 实现类似的目标
  • 客户端向服务器发送延迟的 FIN ACK(约 500 毫秒)

    我有一个 node js 客户端 10 177 62 7 请求来自服务器 10 177 0 1 的 http Rest 服务的一些数据 客户端只需使用node js http request 方法 agent false 客户端位于 Ubu
  • 如何修复“'ddlAssignedTo' 有一个无效的 SelectedValue,因为它不存在于项目列表中

    我加载网格视图 网格视图有一个编辑和删除按钮 我点击 编辑 然后我得到 ddlAssignedTo has a SelectedValue which is invalid because it does not exist in the