Доступ к серверной переменной MVC в Javascript - PullRequest
0 голосов
/ 23 ноября 2018

Я перемещаю одно из наших веб-приложений из Drupal в веб-приложение ASP.net MVC.

Одна из функций Drupal получает некоторые данные из веб-службы и преобразует их в массив JS, какследует:

foreach ($xml_result->JobList->JobDetail as $job_detail) {
//  dsm((array)$job_detail); 
$open_job_details[] = array("east"=>(string)$job_detail->Easting,"north"=>(string)$job_detail->Northing, "duedate"=>(string)$job_detail->openDate);
}
//dsm($open_job_details); 
$open_jobs_data = json_encode($open_job_details);
drupal_add_js(array('open_jobs' => array('open_newjobs' => $open_jobs_data)), 'setting');

В файле Javascript доступ к нему осуществляется с помощью;

var openJobsData = JSON.parse(Drupal.settings.open_jobs.open_newjobs);

Существует ли простой способ доступа к переменной на стороне сервера в файле JS в .NET?Я могу позвонить в веб-службу и получить соответствующие данные из файла XML, но не уверен, как получить к ним доступ в файле JS.

Спасибо

1 Ответ

0 голосов
/ 23 ноября 2018

Вы можете использовать строго типизированное представление для создания страницы cshtml

  • , если хотите получить доступ к объекту JSON

    View1.cshtml @model mvcApplication1.Models.model1 @ {var serializer = new System.Web.Script.Serialization.JavaScriptSerializer ();serializer.MaxJsonLength = int.MaxValue;var jsonModel = serializer.Serialize (Model);} var JsonData = @ Html.Raw (jsonModel);// объявляем переменную javascript и используем ее

  • , если вы хотите получить доступ к серверной переменной на странице cshtml, просто используйте @ для доступа к серверным переменным после получения значения, которое вы можете использовать javascriptпеременная в другом файле js

    Объявите переменную javascript вне $ (document) .ready (function () {}

    или перед использованием переменной

вы можете использовать эту переменную в файле Javascript.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...