Невозможно получить доступ к элементу внутри Url.Action в ajax вызове - PullRequest
1 голос
/ 24 января 2020

У меня есть вызов Ajax, и внутри функции успеха у меня есть $ .each l oop. Когда я пытаюсь использовать dtl, он показывает мне: «Имя dtl не существует в текущем контексте»

Код

$.ajax({
            url: $("#getAllNewsBasicDetails").val(),
            cache: false,
            type: "POST",
            success: function (_newsDetails) {

                $.each(newstype, function (i, dtl) {
                        content = '';

                        content += '<a href="#" class="text-black">' + dtl.NewsTitle + '</a>';
                        content += '<a class="btn btn-sm btn-primary" href="@Url.Action("NewsDetails", "News",new{@NewsId=dtl.NewsId })">'; // In here it shows 'The Name dtl doesn't exist in the current context'
                        content += '</div>';

                    $("#searchItems").prepend(content);
            });
        }

1 Ответ

0 голосов
/ 24 января 2020

Пожалуйста, измените ваше ajax действие следующим образом:

$.ajax({
    url: $("#getAllNewsBasicDetails").val(),
    newsUrl: '@Url.Action("NewsDetails", "News",new{@NewsId=-100000 })',
    cache: false,
    type: "POST",
    success: function (_newsDetails) {

        $.each(newstype, function (i, dtl) {
                var newsUri = newsUrl;              
                content = '';
                content += '<a href="#" class="text-black">' + dtl.NewsTitle + '</a>';
                content += '<a class="btn btn-sm btn-primary" href="'+ newsUri.replace("-100000", dtl.NewsId)+'">';
                content += '</div>';

            $("#searchItems").prepend(content);
    });
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...