【问题标题】:Accessing MVC server side variable in Javascript在 Javascript 中访问 MVC 服务器端变量
【发布时间】:2018-11-23 11:54:54
【问题描述】:

我正在将我们的一个 Web 应用程序从 Drupal 迁移到一个 ASP.net MVC Web 应用程序。

其中一个 Drupal 函数从 Web 服务获取一些数据并将其转换为 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);

有没有一种简单的方法可以访问 .NET 中 JS 文件中的服务器端变量?我可以调用 Web 服务并从 XML 文件中获取相关数据,但不知道如何在 JS 文件中访问它。

谢谢

【问题讨论】:

    标签: javascript asp.net-mvc model-view-controller drupal


    【解决方案1】:

    您可以使用强类型视图创建 cshtml 页面

    • 如果你想访问 JSON 对象

      View1.cshtml @model mvcApplication1.Models.model1 @{ var 序列化程序 = 新 System.Web.Script.Serialization.JavaScriptSerializer(); 序列化器.MaxJsonLength = int.MaxValue; var jsonModel = serializer.Serialize(Model); } var JsonData = @Html.Raw(jsonModel); // 声明一个javascript变量并使用它

    • 如果你想在 cshtml 页面访问服务器变量 只需使用@ 访问服务器端变量 获取值后,您可以在另一个 js 文件中使用 javascript 变量

      在外面声明你的 javascript 变量 $(文档).ready(函数() {}

      或在使用变量之前

    您可以在 Javascript 文件中使用该变量。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-02-20
      • 1970-01-01
      • 1970-01-01
      • 2015-10-02
      • 2011-03-15
      • 1970-01-01
      相关资源
      最近更新 更多