首页 文章

使用ASP.NET Core v2和Razorpages从Dropdown onChange事件获取SQL数据

提问于
浏览
0

我有一个使用C#从SQL填充的下拉框 . 当用户在下拉框中选择一个条目时,我需要根据所选项运行SQL查询,并使用SQL的结果集填充其他一些输入字段 .

将其视为客户列表,在选择客户时,输入字段将填充客户的默认值,例如地址,城市等,以后可由用户更改 .

我的第一个想法是在dropdown onchange事件上使用ajax调用,但不知道从哪里获取MSSQL数据?是否可以从URL中检索SQL中的数据?或者我可以使用C#将下拉列表绑定到onchange事件,并将查询数据添加到C#的脚本块中吗?

解决这个问题的好方法是什么?

我正在使用带有Razorpages的ASP.NET Core v2

enter image description here

谢谢

托马斯

1 回答

  • 1

    你应该使用ajax . 像这样创建一个ajax调用:

    var dataToPost = {customer: "custumerValue", additionalData: "something"};
    $.ajax("{path to controller}/GetData", {
        method: "POST",
        dataType: "json",
        contentType: "application/json; charset=utf-8",
        data: JSON.stringify(dataToPost)
    }).done(function (data) {
        //set properties
        console.log(data.value1);
        console.log(data.value2);
    }).fail(function () {
        //error
    });
    

    并在您的控制器中创建一个函数:

    public virtual JsonNetResult GetData(string customer, string additionalData)
    {
        // Get data
    
        return new JsonNetResult()
        {
            Data = new
            {
                value1 = "something",
                value2 = "something"
            }
        };
    }
    

    确保指定控制器的正确路径,如果控制器名为CustomerController,则只应在URL中插入Customer . 此外,函数名称和参数必须与ajax调用中使用的名称匹配 .

    希望这可以帮助 .

相关问题