Получение ошибки для переменной не существует в текущем контексте cshtml? - PullRequest
0 голосов
/ 10 октября 2018

У меня есть следующий код для получения ошибки

$('#Template').click(function () {
            var selectedTempleteType = $('#BulkLoadActionDropDownId option:selected').val();
            var path = '@Url.Content("~/Upload/DownloadBulkLoadActionTemplate?templateType=" + selectedTempleteType)';
            $(this).attr("href", path);
        });

ошибка, отображаемая для selectedTempleteType.

1 Ответ

0 голосов
/ 11 октября 2018

selectedTempleteType - это переменная JS на стороне клиента, вы не можете использовать ее внутри @Url.Content(), которая работает на стороне сервера (и @Url.Content() неверно для сопоставления пути URL со строкой запроса, используйте @Url.Action()).Вы должны изменить это значение:

var path = '@Url.Content("~/Upload/DownloadBulkLoadActionTemplate?templateType=" + selectedTempleteType)';

на это:

var path = '@Url.Action("DownloadBulkLoadActionTemplate", "Upload")?templateType=' + selectedTempleteType;

Или использовать заполнитель внутри @Url.Action() с replace() на стороне клиента:

var path = '@Url.Action("DownloadBulkLoadActionTemplate", "Upload", new { templateType = "xxxx" })';
path = path.replace("xxxx", selectedTempleteType);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...