在模板化控件中实现级联 DropDownList 绑定

2023-12-11

我有2个DropDownList我的表单上的控件,其中第二个使用SelectedValue第一个作为其绑定参数之一。

Both DropDownList控件位于FormView.InsertItemTemplate with SelectedValue绑定到的属性FormView使用绑定表达式的数据源。

第一次FormView在插入模式下渲染,一切正常。问题是在AutoPostBack从一开始DropDownList, the FormView不(重新)绑定,但是由于ControlParameter在第二个DropDownList已更改,它确实绑定(按预期),但第二个 DDL 的绑定表达式发生异常,我假设因为FormView对该通行证没有约束力:

System.InvalidOperationException:数据绑定方法,例如 Eval()、 XPath() 和 Bind() 只能在数据绑定的上下文中使用 控制。

这是标记:

<InsertItemTemplate>
.
.
.
<tr class="GridViewRowB">
                    <td class="GridViewCell">
                        Offense Type
                    </td>
                    <td class="GridViewCell">
                        <asp:DropDownList ID="ddlOffenseType" runat="server" DataSourceID="dsOffenseType"
                            AutoPostBack="true" DataValueField="OffenseTypeID" DataTextField="Description"
                            SelectedValue='<%# Bind("OffenseTypeID") %>'>
                        </asp:DropDownList>
                        <asp:ObjectDataSource ID="dsOffenseType" runat="server" TypeName="OffenseType"
                            SelectMethod="GetAll">
                            <SelectParameters>
                                <asp:Parameter Name="ActiveOnly" DefaultValue="True" Type="Boolean" />
                            </SelectParameters>
                        </asp:ObjectDataSource>
                    </td>
                </tr>
                <tr class="GridViewRowA">
                    <td class="GridViewCell">
                        Attorney
                    </td>
                    <td class="GridViewCell">
                        <asp:DropDownList ID="ddlAttorney" runat="server" DataSourceID="dsAttorney" DataValueField="AttorneyID"
                            DataTextField="AttorneyNameWithCount" SelectedValue='<%# Bind("AttorneyID") %>'>
                        </asp:DropDownList>
                        <asp:ObjectDataSource ID="dsAttorney" runat="server" TypeName="Attorney"
                            SelectMethod="GetAttorneyWithCaseCount">
                            <SelectParameters>
                                <asp:Parameter Name="ActiveOnly" DefaultValue="True" Type="Boolean" />
                                <asp:ControlParameter Name="OffenseTypeID" Type="Int32" ControlID="ddlOffenseType"
                                    PropertyName="SelectedValue" />
                            </SelectParameters>
                        </asp:ObjectDataSource>
                    </td>
                </tr>
.
.
.
</InsertItemTemplate>

我的问题是:使此功能发挥作用的最佳方法是什么?是否可以将两个 DDL 保留在模板内?我宁愿避免使用 AJAX 工具包或其他客户端解决方案。


当我们在数据绑定控件中使用级联下拉列表时,这是一个问题DetailsView/FormView我已经遇到过很多次了。您必须从第二个下拉列表中删除绑定表达式SelectedValue='<%# Bind("AttorneyID") %>',然后就可以了。

其次,如果删除 Binding 表达式,则必须在 FormView 中手动传递值ItemInserting事件。例如

 protected void frmAsset_ItemInserting(object sender, FormViewInsertEventArgs e)
 {
    eValues["AttorneyID"] = ((DropDownList)((FormView)sender).FindControl("ddlAttorny")).SelectedValue;
 }
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在模板化控件中实现级联 DropDownList 绑定 的相关文章

随机推荐

  • 如何在 Android 中的 Facebook 页面墙上发帖?

    您好 我想发布任何消息或链接到 Facebook 页面 我尝试过的是这个 void postInfo try Bundle parameters new Bundle parameters putString message message
  • 使用 angularjs 从服务器下载文件

    我正在寻找一种方法来让用户选择服务器上存在的文件并使用 angularjs 下载它 我发现这段代码不起作用 所以有人有一种正确的方法吗 var content file content var blob new Blob content t
  • PowerShell - 如何使用 $_.Key 作为 $object 属性?

    我有一个像这样的哈希表 hash One One Two Two Three Three 这样做是行不通的 hash getEnumerator foreach object Key Value 然而这句话 hash getEnumerat
  • 使用 gnu clisp 运行 shell 命令

    我正在尝试为 clisp 创建一个 系统 命令 其工作原理如下 setq result system pwd now result is equal to my path here 我有这样的事情 defun system cmd ext
  • json 序列化器 NullValueHandling 不使用 datamember 属性

    在我的 Web api 项目中 现在我正在跳过 null 值 因此 返回 json 会忽略 null 值并打印属性 在 Global asax 文件中 manage the null in the response var json Glo
  • 为Windows窗体中禁用的控件注册MouseEnter/MouseLeave事件?

    我想为禁用的按钮注册 MouseEnter MouseLeave 事件 尽管它确实适用于已启用的按钮 但它不起作用 Enable Disable controls on form load EnableDisableControls Loa
  • C# 中长时间运行任务的进度条

    我的应用程序运行一些可能需要很长时间的数据库查询 在执行这些查询时 我的应用程序似乎冻结了 并且看起来应用程序已停止工作 我需要使用进度条来避免这个问题 但我不确定如何预测查询执行所需的时间 运行查询的代码如下 private void C
  • MySQL加载数据文件-加速?

    有时 我必须为一个项目重新导入数据 从而将大约360万行读取到MySQL表中 目前是InnoDB 但我实际上并不局限于这个引擎 加载数据到文件 已被证明是最快的解决方案 但它有一个权衡 在没有密钥的情况下导入时 导入本身大约需要 45 秒
  • Laravel Controller 不存在,尽管它明显存在

    我收到的错误是控制器不存在 即使我知道它存在 这是代码 路线 php Route get mdpay template array uses gt templateController index templateController bl
  • Angular http get,从 spring mvc 服务器下载文件

    我正在使用 apache commons IOUtils 复制方法将文件从服务器发送到 angularjs 这是我的控制器 RequestMapping value download method RequestMethod GET pub
  • 如何将兰伯特圆锥等角光栅投影更改为纬度 R

    我有一个从 netcdf 获得的栅格 该栅格位于 兰伯特圆锥等角投影 library meteoForecast wrf temporary lt getRaster temp day Sys Date frames complete re
  • 静态下拉到动态下拉 Coldfusion

    我是堆栈溢出的新手 我需要创建一个静态下拉列表 然后根据在静态下拉列表中选择的值创建动态下拉列表 只是 Coldfusion 和 html 没有其他花哨的东西 因此 从第一个下拉菜单中 用户可以选择 颜色 身份证 官员 学校 然后点击 继续
  • 在android中的gridview中拖放图像

    我正在开发一个示例 Android 应用程序来了解 Android 中的拖放操作 在应用程序启动时 我在网格视图上显示一些图像 现在我需要一次将一张图像拖到另一张图像的位置 将一个图像放到另一个图像上后 图像应该交换位置 我怎样才能实现它
  • 如何使所有 Core Data 对象继承自我的类而不是 NSManagedObject?

    我创建了自己的类 我希望使用 Core Data 而不是NSManagedObject interface MyManagedObject NSManagedObject id delegate 我不能使用类别 因为它声明了一个 ivar
  • 捕获组和间隔量词在 sed 正则表达式中不起作用

    在 Linux 中我可以运行命令 sed r s 2 0 1 2 filename 但是 当在 UNIX 中运行时 我不能这样做 r所以我尝试了 sed s 2 0 1 2 filename 我收到以下错误 sed command garb
  • 连接 pandas 数据框中的元组列表

    我想加入数据框中的元组列表 我尝试了几种在数据框中执行此操作的方法join与lambda import pandas as pd from nltk import word tokenize pos tag pos tag sents da
  • 具有自定义训练循环的 Tensorboard Graph 不包括我的模型

    我已经创建了自己的循环 如 TF 2 迁移指南中所示here 我目前只能看到图表 VISIBLE 下面的代码部分 我如何制作我的模型 在 NOT VISIBLE 部分 在张量板上可见 如果我没有使用自定义训练循环 我可能会选择记录在案 mo
  • 将类添加到画布元素 HTML5 和 CreateJS

    我在画布中用 for 循环生成 5 个圆圈 我想给它们一个类 这样我就可以用 jquery 控制它们 但我做错了 你们能弄清楚发生了什么事吗 var stage var quantity 6 width 60 height 60 circl
  • 实体框架向导在 MySQL 上崩溃

    我的问题类似于this one但崩溃发生在稍后 我must在 SQL Server 和 MySQL 之间互操作 EF 数据库优先模型 更具体地说 我的应用程序根据连接字符串和配置设置向 SQL Server 或 MySQL 发起普通 SQL
  • 在模板化控件中实现级联 DropDownList 绑定

    我有2个DropDownList我的表单上的控件 其中第二个使用SelectedValue第一个作为其绑定参数之一 Both DropDownList控件位于FormView InsertItemTemplate with Selected