0

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

Think of it as a list of customers, when selecting a customer the input fields are populated with default values for the customer, such Address, City etc which later can be changed by the user.

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

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

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

在此处输入图像描述

谢谢

托马斯

4

1 回答 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 调用中使用的名称相匹配。

希望这可以帮助。

于 2017-12-14T09:03:56.743 回答