ASP.NET MVC 中的依赖下拉列表

2024-04-08

目前我有两个表(团队和员工) 我正在完美填充团队的下拉列表,接下来我尝试根据员工团队的 selectedId 填充第二个下拉列表。

控制器:

 // GET: CalView
        public ActionResult Index(string ses, string DH)
        {     //Team Lead Members
                var eID = Convert.ToInt32(Session["currentEmployeeID"]);
                var EmpID = Session["currentEmpID"];
                Employee obj = (from o in db.Employees
                                where o.EnrollNumber == EmpID
                                select o).FirstOrDefault();

                Department dept = (from dep in db.Departments
                                   where dep.LeadBy == obj.EmployeeId
                                   select dep).FirstOrDefault();
                //this works fine
                ViewBag.showTeams = new SelectList(db.Teams.Where(tm => (tm.DeptID == dept.DepartmentId) && (dept.LeadBy == eID)), "TeamID","Name");
               //this obviously does not
                ViewBag.showMembers = new SelectList(db.Employees.Where(empt => (empT.TeamID == selectedIdFromPreviousDropDownList), "EmployeeID", "Employee"));

                return View();
        }

View:

if ((Session["UT"] == "DD") && (@ViewBag.DeptLead != null))
  {
//this works
  @Html.DropDownList("showTeams", null, "-Select Team-", htmlAttributes: new { @class = "form-control" })
//this does not work
  @Html.DropDownList("showMembers", null, "-Select Team-", htmlAttributes: new { @class = "form-control" })
   }

我需要一些 AJAX 调用吗?或者也许是 POST 方法?对于 MVC 来说是全新的。


我需要一些 AJAX 调用吗?或者也许是 POST 方法?好吧,让我们这样做:

给你的 DropdownLists 一些 id 可能是:

 @Html.DropDownList("showTeams", null, "-Select Team-", htmlAttributes: new { id = "ddshowTeams", @class = "form-control" })
 @Html.DropDownList("showMembers", null, "-Select Team-", htmlAttributes: new {id = "ddshowMembers", @class = "form-control" })

创建一个 jsonResult 函数,GetMembers还有一些魔法:

<script type="text/javascript">

        $(document).ready(function () {
            //Dropdownlist Selectedchange event
            $("#ddshowTeams").change(function () {
                console.log("pehla andar");
                $("#ddshowMembers").empty();
                $.ajax({
                    type: 'POST',
                    url: '@Url.Action("GetMembers")',
                    dataType: 'json',
                    data: { id: $("#ddshowTeams").val() },
                    success: function (mems) {
                        console.log("wich ayaeee");
                        // states contains the JSON formatted list
                        // of states passed from the controller
                        $.each(mems, function (i, member) {
                            $("#ddshowMembers").append('<option value="'
    + member.Value + '">'
    + member.Text + '</option>');
                        });
                    },
                    error: function (ex) {
                        alert('Failed to retrieve states.' + ex);
                    }
                });
                return false;
            })
        });
</script>

在你的控制器中:

 public JsonResult GetMembers(int id)
        {
            return Json(new SelectList(db.Employees.Where(empt => (empt.TeamId == id)), "EmployeeID", "FirstName"));
        }
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ASP.NET MVC 中的依赖下拉列表 的相关文章

随机推荐

  • SQL Server 依赖项

    有没有一种简单的方法可以在 SQL Server 2005 中追踪表 存储过程 函数依赖关系 我继承了一个巨大的应用程序 其中包含大量表以及更多的长且相互关联的存储过程和函数 到底有没有办法构建依赖树 理想情况下 我正在寻找两个方向 对于表
  • 如何使用 requirejs 获得真正的错误?

    我是 requireJS 的新手 我试图找出为什么我不能得到正常的错误 我在加载 requirejs 文件之后 加载任何模块之前使用它 requirejs onError function err console log err requi
  • 转储 API 21 的 AppCompat

    因此 我正在创建一个 Lollipop 5 0 API 21 及更高版本的应用程序 对支持旧设备的兴趣为零 在使用 UI 元素和布局 侧边栏又名导航栏 墨水等 等 Material Design 时 我是否仍然需要 appcompat 库
  • 如何在较小的屏幕上禁用 Bootstrap 的“affix”?

    我在网站中使用 Affix 组件作为导航栏 并希望在较小的屏幕上禁用它 我正在使用 jquery 方法与数据 并且不知道当我的屏幕分辨率小于 767px 时如何关闭它 我尝试过在调整大小和滚动时捕获窗口宽度 然后返回 false 或删除附加
  • 如何/应该使用 Mockito 对 EventBus 事件进行单元测试?

    我在 Android 应用程序中使用 Otto 的 EventBus In my LoginNetworkOperation类中 我捕获了不同类型的网络连接错误 并为每个错误发布了不同的总线事件 并且我的LoginPresenter当这些事
  • Google Apps 脚本/表返回错误请求 400

    我有一个在 Google Sheet 上运行的相当简单的脚本 该脚本接受 Webhook POST 并将 Webhook 的内容写入电子表格中的新行 该脚本按预期运行 并在收到数据时写入新行 但是 由于某种原因 我发送 webhook 的应
  • 如何从firebase实时数据库中删除?

    I am using Firebase realtime database in Android app and have data like this 如何删除 Apple 记录 如图所示 根据文档 要删除您调用的项目移除值 关于参考 但
  • 运行打包代码时出现 KeyError: 0L

    我有一个名为rra py具有以下骨架结构 usn usnl from bs4 import BeautifulSoup import re import asys import glob import os import sys impor
  • 如何检索数据库(如雪花或任何此类数据库)中的所有目录名称、模式名称和表名称?

    我需要删除一些列并将雪花表中的数据大写 为此 我需要循环遍历所有目录 数据库 其各自的模式 然后是表 我需要在 python 中列出目录模式 然后列出表 然后我将执行 SQL 查询来执行操作 如何继续 1 列出所有目录名称 2 列出所有模式
  • Python:测试空集交集而不创建新集

    我经常发现自己想要测试两个集合的交集而不使用交集的结果 set1 set 1 2 set2 set 2 3 if set1 set2 print Non empty intersection else print Empty interse
  • URL 中的 CSS 选择器

    当你有这样的网址时www example com signup 浏览器所做的只是将其视图集中在具有 id 的 HTML 元素上signup 是对的吗 如果元素以这种方式聚焦 是否可以更改其 CSS 样式 E g 假设我有一个 div 元素
  • 基于 IP 和引荐来源网址的 PHP 重定向

    我正在尝试根据用户的 IP 和空白引荐来源网址将我的网络中的用户重定向到我们网站上的特定登录页面 该代码可以工作 但最终会陷入重定向循环 如何打破重定向循环以正确重定向用户 谢谢 visitor SERVER HTTP REFERER cl
  • Matplotlib 依赖滑块

    我想通过选择三角形的权重来选择三角形的一个点 这应该通过控制 2 个滑块来完成 matplotlib widgets Slider 这两个滑块表示定义点的三个权重中的两个 第三个权重很容易计算为1 0 slider1 slider2 现在很
  • wcf 配置文件与代码配置的优缺点

    我有一个自托管 C WCF 服务 它为各种目的创建 20 多个端点 每个都在代码本身中配置 并在服务的 app config 中使用一些基本配置项 例如端口和地址 该服务对于经过测试的客户来说效果很好 但尚未经过广泛测试 我对标准 wcf
  • 休眠:刷新、驱逐、复制和刷新

    我希望我知道这个列表中的每个项目到底是什么 它是如何工作的 后果是什么以及什么时候是正确的使用时间 Refresh Evict 复制 Flush 我什至想知道每个人的作用 但我不太确定 所以我请求你的帮助 因为我真的很想了解它 我知道这是一
  • 使用 Javascript SDK 创建 Parse.File

    我遵循了法律条文 Javscript SDK 以及许多变体 但到目前为止我还无法将图像保存到 Parse File 我开始认为这是他们在放弃平台之前从未完成的代码 这是我的错误 无法构造 文件 需要 2 个参数 但仅存在 0 个 这是我的代
  • Rails/PostgreSQL - 查询更新所有日期添加 1 天

    我想执行 update all 查询来更新日期时间列 在所有行上将该列的当前值添加 1 天 我可以使用 each 和 update 来实现这一点 但在单个查询中执行会更有效 使用 Rails 和 PostgreSQL 可以实现这一点吗 UP
  • UnicodeDecodeError:“utf-8”编解码器无法解码位置 1 中的字节 0x8b:在 pandas 中读取 csv 文件时起始字节无效

    我知道类似的问题已经被问过 我已经看过所有这些问题并尝试过 但没有什么帮助 我正在使用 OSX 10 11 El Capitan python3 6 虚拟环境 也尝试过没有它 我使用的是jupyter笔记本和spyder3 我是 Pytho
  • java.lang.IllegalArgumentException:只能使用低 16 位作为 requestCode

    我正在写一个应用程序 其中Activity A发射Activity B using startActivityForResult intent 101 但当调用时 它会返回以下错误日志 E AndroidRuntime 1708 java
  • ASP.NET MVC 中的依赖下拉列表

    目前我有两个表 团队和员工 我正在完美填充团队的下拉列表 接下来我尝试根据员工团队的 selectedId 填充第二个下拉列表 控制器 GET CalView public ActionResult Index string ses str