$.getJSON 给出未定义的结果Razor 网页和 JSONresult

问题描述

我刚刚开始学习 Razor。我已经完成了 8 小时的付费视频教程,现在我正在尝试开发一个真实世界的应用程序,其中包含大量的谷歌搜索和边读。

我阅读了许多类似的帖子并尝试了许多想法,但我只是把头撞在墙上。 此问题源于尝试创建级联下拉列表(选择客户端,在客户端更新联系人下拉列表) 我已经去掉了所有的 EF 代码,然后又回到了手动编码的联系人示例列表。 在此示例中,我什至没有尝试为联系人下拉列表重建选择列表 - 如果警报消息显示结果而不是“未定义”,我会很高兴

这是剃刀页面底部的 JQuery 代码

@section Scripts
{
    <script type="text/javascript">
        $(document).ready
            (
                function ()
                {
                    $('#TblTrials_ClientId').change
                        (
                            function ()
                            {
                                $.getJSON
                                    (
                                        "?handler=Contacts",function (result)
                                        {
                                            $.each(result,function (i,item)
                                            {
                                                alert(item.contactname);
                                            });
                                        }
                                    );
                            }
                        );
                      
                }
            );


    </script>

    @{ await Html.RenderPartialAsync("_ValidationScriptsPartial");}

}

这里是对应的cs页面模型中的“OnGetContacts”处理程序

public JsonResult OnGetContacts()
{
    List<clientcontact> clientcontacts = new List<clientcontact>{
           new clientcontact{ClientContactId = 1,ContactName = "Scott"},new clientcontact{ClientContactId = 2,ContactName = "Bill"}
           };
    
    JsonResult jsn = new JsonResult(clientcontacts);
    return jsn;
}

我在“return jsn”之前设置了断点,jsn 是两个条目的集合,因此肯定会调用处理程序。 我担心 jsn 看起来更像 clientcontacts 类而不是 JSON 字符串,但这可能是因为我在这个阶段的无知。

这是我对 clientcontacts 类的定义

namespace TrialManagementSystem.Models
{
    public partial class clientcontact
    {
        public int ClientContactId { get; set; }
        public string ContactName { get; set; }

    }
}

我尝试了很多想法,例如 item.ContactName 而不是 item.contactname 和 result[i].ContactName 和许多其他排列

如果您有任何建议,我将非常非常感谢。

非常感谢 托尼

解决方法

您只需要更改代码:

 alert(item.contactname);

 alert(item.contactName);

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...