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

Getting SQL Data from Dropdown onChange event using ASP.NET Core v2 and Razorpages

我使用 C# 从 SQL 填充了一个下拉框。当用户 select 下拉框中的条目时,我需要 运行 基于 selected 项的 SQL 查询,并使用来自 SQL.

将其视为客户列表,当 select输入客户时,输入字段会填充客户的默认值,例如地址、城市等,以后可以由用户更改。

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

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

我正在使用 ASP.NET Core v2 和 Razorpages

谢谢

托马斯

你应该使用 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 调用中使用的名称相匹配。

希望对您有所帮助。