You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ASP.NET MVC中选择服务后分类下拉框空白问题求助

排查.NET MVC依赖下拉框无数据问题

以下是针对你遇到的分类下拉框无选项问题的排查步骤:


1. 修复AJAX代码语法错误

你提供的AJAX代码存在未闭合的括号,会导致JavaScript执行失败,函数无法正常运行。补充完整后的代码如下:

function updateCategories(selectedService) {
    // Clear existing options in the second dropdown
    $("#Category_FID").empty();

    if (selectedService != "") {
        // Send AJAX request to fetch subcategories based on selected service
        $.ajax({
            url: "/Bookings/GetCategories",
            type: "POST",
            data: { Service_FID: selectedService },
            success: function (data) {
                // Update the second dropdown with fetched subcategories
                $.each(data, function (index, item) {
                    $("#Category_FID").append($('<option></option>').val(item.Category_ID).text(item.Category_Title));
                });
            },
            error: function(xhr, status, error) {
                // 调试用:在浏览器控制台查看错误详情
                console.log("AJAX请求错误:", xhr.responseText);
            }
        });
    }
}
  • 补充了if语句和$.ajax的闭合括号
  • 添加error回调,方便在浏览器控制台(F12>Console)查看请求失败原因

2. 验证AJAX请求状态

打开浏览器开发者工具(F12),切换到Network标签,选择XHR过滤条件:

  • 选择服务后,查看是否有/Bookings/GetCategories的请求
    • 状态码404:检查控制器是否为BookingsController,Action名称是否正确,或者路由配置是否存在区域/前缀导致路径错误
    • 状态码500:查看Response中的错误详情,通常是服务器端代码报错(比如数据库上下文未初始化、实体字段不匹配)
    • 无请求触发:检查服务下拉框的onchange事件是否绑定正确,或者页面是否有其他JS错误阻止函数执行(查看Console标签)

3. 检查服务器端数据返回

在控制器的GetCategories方法中添加断点调试:

  • 确认GetDataFromDatabase返回的categories列表是否有数据
  • 验证数据库查询逻辑:db.Categories.Where(a => a.Service_FID == Service_FID).ToList()是否能正确获取对应服务的分类(检查数据库中是否存在匹配的记录)
  • 确认Category实体的Category_ID和Category_Title属性是否正确,且能被JSON序列化(避免属性被标记为[JsonIgnore]或私有属性)

4. 确认页面元素ID正确性

查看页面渲染后的HTML源码,确认分类下拉框的ID确实是Category_FID。@Html.DropDownList("Category_FID", ...)通常会生成正确的ID,但如果存在模型前缀或自定义模板,可能会改变ID,需用开发者工具确认。


5. 验证请求参数传递

在Network标签中查看AJAX请求的Form Data:

  • 确认Service_FID的值是否正确传递(比如是否为有效的数字,而非空字符串或非数字值)
  • 控制器参数为int Service_FID,如果传递的参数无法转为整数,会触发参数绑定错误,导致请求失败

内容的提问来源于stack exchange,提问作者ZarishKhalil

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.20 05:44:58