gpt4 book ai didi

c# - 发出ajax请求时,如何在使用c#的url参数中使用jquery变量?

转载 作者:行者123 更新时间:2023-12-01 08:35:53 25 4
gpt4 key购买 nike

这是我的代码:

var selectedFacility = $("#Facility").val();

$.ajax({
type: "Post",
url: "@Url.Action("GetLocations", "Item", new { Facility = "selectedFacility goes here"})",
dataType: 'json',
success: function (data) {
for (var i = 0; i < data.length; i++) {
$('#Location').append('<option value="' + data[i].Value + '">' + data[i].Text + '</option > ');
}
}
});

Controller 操作:

public JsonResult GetLocations(string facility) {
var Locations = new List<SelectListItem>{};
Locations.AddRange(db.Locations.Where(l => l.Facility == "LAT").ToList().Select(l => new SelectListItem {
Text = l.Name,
Value = l.ID.ToString()
}));
return Json(Locations, JsonRequestBehavior.AllowGet);
}

这是我需要使用变量的行:

new { Facility = "selectedFacility goes here"})",

我可能会遗漏一些明显的东西,但我需要在 Url.Action() 参数中使用 selectedFacility jquery 变量。有没有办法可以做到这一点?

最佳答案

我认为您不能在 Url.Action() 方法中使用 $("#Facility").val(); 参数。

您正在使用http POST我认为您可以尝试将ajax数据对象设置为参数。

var selectedFacility = $("#Facility").val();

$.ajax({
type: "Post",
url: '@Url.Action("GetLocations", "Item")',
data: { Facility: selectedFacility },
dataType: 'json',
success: function (data) {
for (var i = 0; i < data.length; i++) {
$('#Location').append('<option value="' + data[i].Value + '">' + data[i].Text + '</option > ');
}
}
});

关于c# - 发出ajax请求时,如何在使用c#的url参数中使用jquery变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55831768/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com