$.ajax({
url: "/Home/GetAllSearchData",
datatype: "json",
type: "get",
data: {
text: Search,
city: city,
locality: locality
},
success: function(data) {
if (data.result != null) {
$("#table").find("tr:not(:first)").remove();
var tr;
for (var i = 0; i < data.result.length; i++) {
var res = [];
res = data.result[i].Id.split(",");
tr = $('<tr/>');
tr.append("<td>" + " <div class='dashboardmodal - body'><p><a href='@Url.Action("
SearchAction ", "
Home ", new { city = city })'>" + data.result[i].name + "</a></p>" + "</div></td>");
$('#table').append(tr);
}
var modal = document.getElementById('myModal');
modal.style.display = "block";
}
},
error: function(err) {
alert(err);
}
});
Я пытаюсь передать значение переменной города в параметр тега привязки, но получаю ошибку the name does not exist in the current context
Используйте Url.Action() в методе GetAllSearchData(), чтобы сгенерировать URL-адрес и передать его обратно клиенту в вашем JsonResult.



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Лучше измените название объекта city на cityObj, а затем попробуйте передать то же самое. или просто попробуйте следующее и проверьте консоль
'@Url.Action("SearchAction", "Home")?city=' + city +
или вы можете попробовать следующее,
'@Url.Action("SearchAction", "Home")', { city: city }
Надеюсь, поможет !!
спасибо за работу, но есть небольшая поправка '@ Url.Action ("SearchAction", "Home")', {city: "+ city +"}
он работает, но результат не получается в правильном формате. Это похоже на это <a href = "/Home/SearchAction", {city: pune,}'> доктор СонаСингх Корекар </a>
@Url.Action()- это код на стороне сервера (он выполняется на сервере до отправки html в представление) - ваша переменнаяcityявляется кодом на стороне клиента и даже не существует в этот момент