使用 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 调用中使用的名称相匹配。
希望对您有所帮助。
我使用 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 调用中使用的名称相匹配。
希望对您有所帮助。