Это, вероятно, довольно простой вопрос.jQuery/ASP.Net MVC передаёт переменную id в content.load
Как передать:
var ident = $(this).attr("id");
в
content.load("@Html.Raw(Url.Action("Action", "Controller", new {id=ident}))");
Я пробовал:
... new {id="+ident+"}))");
, но он не работает.
Решение
Для моей конкретной задачи, самое лучшее решение, которое я нашел, было следующее:
var ident = $(this).attr("id");
var route = "@Html.Raw(Url.Action("Action", "Controller"))";
var url = addParameterToURL(route, ident);
content.load(url);
С помощью метода:
function addParameterToURL(url, param) {
_url = url;
_url += (_url.split('/')[1] ? '/' : '/') + param;
return _url;
}
Мне нужно передать идентификатор методу действия в контроллере, чтобы получить правильный результат. Если я могу указать строковые литералы 'Action' и' Controller', не существует ли способа передать параметр? Является ли '' @ Html.Raw (Url.Action («Action», «Controller», new {id = ident})) «' не в основном строка? Или есть лучший способ, которым я должен называть метод контроллера, чтобы я мог отобразить частичный вид мутанта Bootstrap? –
Подход, который я предложил, будет передавать идентификатор контроллеру. Он просто выдает вам URL-адрес: '/ Controller/Action? Id = 123', что именно то, что вам нужно передать 123 как id для Action. – Andrei
@LeighCooper, нет, это не так, поскольку Razor распознает его и превращает в правильную строку URL-адреса при визуализации VIew – Andrei