【问题标题】:$.getJSON gives Undefined result (Razor web page and JSONresult)$.getJSON 给出未定义的结果(Razor 网页和 JSONresult)
【发布时间】:2021-05-20 22:24:40
【问题描述】:

我刚刚开始学习 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;
}

我在“返回 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 和许多其他排列

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

非常感谢 托尼

【问题讨论】:

    标签: asp.net-core razor-pages getjson cascadingdropdown jsonresult


    【解决方案1】:

    您只需要更改您的代码:

     alert(item.contactname);
    

     alert(item.contactName);
    

    【讨论】:

    • 谢谢谢谢谢谢!
    猜你喜欢
    • 2011-12-29
    • 1970-01-01
    • 2012-06-03
    • 2014-09-10
    • 1970-01-01
    • 2015-08-07
    • 2017-08-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多