微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决$.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);

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?