使用代码隐藏文件中的 VB.Net 编码填充 ASP.Net DropDownList

2024-01-10

我们在 ASP.Net / VB.Net Web 表单的标记中有一个 DropDownList。

我们希望使用数据集设计器创建的数据集中的数据填充 DropDownList,但我们在代码隐藏文件中使用的编码无法使用 FindControl 找到 DropDownList ID。

您能检查我的编码并让我知道我还需要做什么才能填充 DropDownList 吗?

DropDownList 的标记:

<% '-- DetailsView (Grid) for details of the GridView -- %>
<% '---------------------------------------------------- %>
<asp:DetailsView 
    ID="DetailsView" 
    runat="server" 
    AutoGenerateRows="False" 
    Height="50px" 
    Width="207px" 
    DataSourceID="SqlDataSourceDetails"
    DataKeyNames="ID"
    OnItemCommand="DetailsViewDetails_ItemCommand"
    OnDataBound="DetailsView_DataBound">

<Fields>

<asp:TemplateField HeaderText="Class:" SortExpression="ClassID">

     <EditItemTemplate>
          <asp:DropDownList ID="DropDownListClass" Runat="server"> </asp:DropDownList>

          <asp:RequiredFieldValidator ID="RequiredFieldValidatorEditDropDownListClass" runat="server" 
              ControlToValidate="DropDownListClass" 
              ErrorMessage="Please select a class." Font-Bold="True" Font-Italic="True" ForeColor="Red" 
              SetFocusOnError="True" Display="Dynamic">
          </asp:RequiredFieldValidator>
      </EditItemTemplate>

      <ItemTemplate>
          <asp:Literal ID="LiteralClass" runat="server" 
              Text='<%# FormatAsMixedCase(Eval("ClassName").ToString())%>' />
      </ItemTemplate>

      <ItemStyle ForeColor="Blue" />
 </asp:TemplateField>

 </Fields>

代码隐藏文件中的编码:

Protected Sub DetailsView_DataBound(sender As Object, e As EventArgs)

    Dim theClassesTableAdapter As New DataSetClassesTableAdapters.ClassesTableAdapter
    Dim ddlTheDropDownList = DirectCast(FindControl("DropDownListClass"), DropDownList)

    ddlTheDropDownList.DataSource = theClassesTableAdapter.GetDataByAllClasses
    ddlTheDropDownList.DataTextField = "ClassName"
    ddlTheDropDownList.DataValueField = "ClassID"
    ddlTheDropDownList.SelectedValue = "ClassID"
    ddlTheDropDownList.DataBind()
End Sub

DetailsView 数据源的标记:

<% '-- Datasources -- %>
<% '----------------- %>
<asp:SqlDataSource 
    ID="SqlDataSourceDetails" 
    runat="server" 

    ConnectionString="<%$ ConnectionStrings:Knowledge Academy %>" 

    DeleteCommand=
        "DELETE FROM [TeacherSchedule] 
          WHERE [ID] = @ID" 

    InsertCommand=
        "INSERT INTO [TeacherSchedule] 
            ([DayOfWeek], 
             [Grade],
             [StartTime],
             [EndTime],
             [ClassID]) 
        VALUES (@DayOfWeek, 
                @Grade, 
                @StartTime, 
                @EndTime,
                @ClassID)" 

    SelectCommand=
        "SELECT        TeacherSchedule.ID, TeacherSchedule.Grade, TeacherSchedule.StartTime, TeacherSchedule.EndTime, TeacherSchedule.TeacherID, TeacherSchedule.ClassID, 
                     TeacherSchedule.DayOfWeek, Classes.ClassName, Teachers.Forename,  Teachers.Surname
           FROM            TeacherSchedule INNER JOIN
                     Classes ON TeacherSchedule.ID = Classes.ID INNER JOIN
                     Teachers ON TeacherSchedule.ID = Teachers.ID
          WHERE (TeacherSchedule.ID = @ID)" 

    UpdateCommand=
        "UPDATE [TeacherSchedule] 
            SET [DayOfWeek] = @DayOfWeek, 
                [Grade] = @Grade, 
                [StartTime] = @StartTime,
                [EndTime] = @EndTime,
                [ClassID] = @ClassID
            WHERE [ID] = @ID">

    <DeleteParameters>
        <asp:Parameter Name="ID" Type="Int32" />
    </DeleteParameters>

    <InsertParameters>
        <asp:Parameter Name="DayOfWeek" Type="String" />
        <asp:Parameter Name="Grade" Type="String" />
        <asp:Parameter Name="StartTime" Type="String" />
        <asp:Parameter Name="EndTime" Type="String" />
        <asp:Parameter Name="ClassID" Type="Int32" />
    </InsertParameters>

    <SelectParameters>
        <asp:ControlParameter ControlID="GridViewSummary" Name="ID" PropertyName="SelectedValue" Type="Int32" />
    </SelectParameters>

    <UpdateParameters>
        <asp:Parameter Name="DayOfWeek" Type="String" />
        <asp:Parameter Name="Grade" Type="String" />
        <asp:Parameter Name="StartTime" Type="String" />
        <asp:Parameter Name="EndTime" Type="String" />
        <asp:Parameter Name="ClassID" Type="Int32" />
        <asp:Parameter Name="ID" />
    </UpdateParameters>
</asp:SqlDataSource>

尝试在 DropDownList Init 事件处理程序中填充 DropDownList。

Markup:

<asp:DropDownList ID="ddlTheDropDownList" runat="server" OnInit="ddlTheDropDownList_Init">

后面的代码应该看起来像这样,我更习惯 C#,但我希望你明白这一点:

Protected Sub ddlTheDropDownList_Init(sender As Object, e As EventArgs)
    Dim ddl As DropDownList
    ddl = sender As DropDownList
    ddl.Datasource = theClassesTableAdapter.GetDataByAllClasses
    ddl.DataTextField = "ClassName"
    ddl.DataValueField = "ClassID"
    ddl.SelectedValue = "ClassID"
    ddl.DataBind()
End Sub
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用代码隐藏文件中的 VB.Net 编码填充 ASP.Net DropDownList 的相关文章

随机推荐

  • Zend DB 选择常量 - 表中不存在的列

    我正在尝试使用 Zend DB select 执行此查询 但我无法这样做 这是sql查询 select shopping id shopping details friend as type from shopping 请注意这里我如何指定
  • Monotouch 绑定无法接受委托模型

    我对 Applifier API 有以下绑定 namespace MonoTouch Applifier BaseType typeof NSObject interface Applifier Export initWithApplifi
  • 什么时候触发AJAX成功?

    我想通过 AJAX 加载一些 HTML 文档 但我想在加载该文档中的所有图像时显示它 about click function back load Tour html function back show 当 Tour html 中的所有图
  • Selenium Web 驱动程序从 jquery datepicker-Ui 中选择日期

    Selenium Web 驱动程序如何选择 jquery datepicker UI 日期到特定日期字段 1 我尝试使用Jscript设置日期 但是 必须从jquery弹出窗口中选择日期才能提交表单 请建议某种方法来自动选择日期并将所选值发
  • 防止 Visual Studio 作为设计器加载自定义分部类

    在 Visual Studio 中 有很多设计器编辑器 Windows 窗体 XAML 安装程序等 有时 我创建一个新的源代码部分类 自定义 来分离逻辑 例如 仅部分代码 Form1 类 Windows Forms Form Form1 c
  • 如何突出显示文件中后续行之间的差异?

    我对大型日志文件进行了很多紧急分析 通常这需要跟踪日志并查找更改 我渴望有一个解决方案能够突出这些变化 让眼睛更容易追踪 我研究过工具 但似乎没有任何东西可以满足我的需求 我已经用 Perl 编写了一些脚本 可以粗略地完成此操作 但我想要一
  • 根据给定的月份文本对列表进行排序

    如何对给定列表进行排序l根据月份 Jan Feb Mar and L K l Jan K Mar K Feb L 预期结果应该是 result Feb L Jan K Mar K 您的尝试是一个列表理解 实际上除了创建一个新列表之外什么也不
  • 表中不存在键列

    我在添加引用另一个表的外键字段时遇到问题 首先 我创建了用户表 如下所示 CREATE TABLE users user id INT 11 NOT NULL AUTO INCREMENT PRIMARY KEY userName VARC
  • 通过将鼠标悬停在散景中突出显示多个 hex_tiles

    我尝试在十六进制图中可视化我的数据 为此 我在图类中使用 python bokeh 和相应的 hex tile 函数 我的数据属于 8 个不同类别之一 每个类别都有不同的颜色 下图显示了当前的可视化效果 I would like to ad
  • Android:SD 卡有使用功能选项吗?

    谷歌推出的一些较新设备不包含 SD 卡 而且它们似乎正在朝这个方向发展 我的问题 有没有办法将 SD 卡声明为使用功能 以防止没有外部存储的人从 Google Play 查看 下载应用程序 我意识到这不是解决问题的正确方法 但在我可以重新编
  • 在 Eclipse IDE 中运行的 Java 程序的退出代码?

    我正在使用 Eclipse 开发一个 Java 程序 该程序应根据具体条件以不同的代码退出 if veryBadError Runtime getRuntime exit 10 else if notSoBadError Runtime g
  • 使用字符串名称功能创建变量

    我正在尝试生成一个函数来在数据框架上创建一堆具有相同命名约定并使用相同逻辑的列 不幸的是 我在创建变量时遇到了一些奇怪的行为 我希望其他人可以解释这里发生了什么 df lt data frame var1 c 1 2 3 var2 c 3
  • codeigniter 加密/解密函数返回空字符串

    我正在尝试使用 codeigniter 登录 但无法这样做 然后我尝试从数据库复制密码并将其传递给 dycription gt decode 函数 它返回空字符串 这是代码 var dump this gt encryption gt de
  • XML 节点的多个分组

    我正在尝试使用 muenchian 分组按目的地和分类值对下面的输入进行分组 这对我来说是新的 所以我不确定如何正确执行此操作 输入文件将比这大得多 因此性能很重要
  • NUnit.Mocks 文档在哪里? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 NUnit 的模拟库 NUnit Mocks 的文档在哪里 我在他们中找不到任何东西官方文档 http
  • 一次读取 1 个字节的二进制文件

    我试图一次读取一个 C 语言的二进制文件 在互联网上搜索了几个小时后 我仍然无法让它检索除垃圾和 或段错误之外的任何内容 基本上 二进制文件采用列表格式 长度为 256 个项目 每个项目为 1 个字节 0 到 255 之间的无符号整数 我正
  • 修改int为float(mysql)

    我正在尝试将 MySQL 中的数据类型从 INT 更改为 FLOAT 如下所示 ALTER TABLE user MODIFY rate float 5 NOT NULL 但当前数据已被删除 有什么方法可以使用 SQL 将数据从 INT 转
  • 如何从指令调用控制器函数?

    如何从指令调用控制器函数 或者如何从控制器访问指令 ng model 例如 我使用 Angular ui 引导时间组件 当时间改变时 我需要通知控制器中的调用函数 我认为总的来说 这是组件之间双向通信的典型用例 appControllers
  • 持久化 MPMediaItemCollection 对象的方法? (选自 iPod)

    我正在制作一个应用程序 用户可以在其中选择设置选项卡中的歌曲 并根据需要在不同的视图中播放该歌曲 我希望这样 如果用户要关闭应用程序并再次重新打开它 则可以存储该项目 我设法允许用户选择并存储一首歌曲 IBAction showMediaP
  • 使用代码隐藏文件中的 VB.Net 编码填充 ASP.Net DropDownList

    我们在 ASP Net VB Net Web 表单的标记中有一个 DropDownList 我们希望使用数据集设计器创建的数据集中的数据填充 DropDownList 但我们在代码隐藏文件中使用的编码无法使用 FindControl 找到