【问题标题】:javascript inside <% %> brackets [duplicate]<% %> 括号内的javascript [重复]
【发布时间】:2018-01-18 19:25:36
【问题描述】:

我正在使用一些我在网上找到的代码,但想更好地理解它。工作正常,但我需要修改它。大部分js都包含在 括号中是什么意思?代码如下:

        <% AllNetLabs.App_Code.GeoHelper helper1 = new AllNetLabs.App_Code.GeoHelper();
            foreach (var item in helper1.GetSpatialData())
            { %>
                geometries.push('<%=item %>');
        <%  } %>
        <% AllNetLabs.App_Code.GeoHelper helper2 = new AllNetLabs.App_Code.GeoHelper();
            foreach (var item in helper2.GetAttributeData())
            { %>
                attributes.push('<%=item %>');
        <%  } %>   

【问题讨论】:

  • 你能发一个链接到你找到那个代码的地方吗?
  • 这看起来像 .net,它的语法很简洁,意味着在服务器端进行评估
  • 在这些括号内看起来根本不像 JavaScript。看起来更像 C#。您可能需要仔细检查您从哪里获得此代码,以及您所说的“工作正常”究竟是什么意思。这肯定不会像 JavaScript 一样工作。
  • 坦率地说,代码......并不理想。使用循环生成一堆push 语句...
  • 基本上这不是 JavaScript(可能),如果是 JavaScript,它是由您正在使用的库/脚本模板化的,因此如果没有更多信息,我们将无法为您提供帮助。

标签: javascript


【解决方案1】:

在我看来, 块中的代码是一种不同的语言(C#?)。通常,此模式用于在服务器端使用一些值预填充 javascript,我猜这就是这里发生的事情。

【讨论】:

    【解决方案2】:

    你是说 EJS 吗? http://www.embeddedjs.com/ 网站示例:

    <h1><%= title %></h1>
    <ul>
    <% for(var i=0; i<supplies.length; i++) {%>
        <li><%= supplies[i] %></li>
    <% } %>
    </ul>
    

    【讨论】:

    • foreach 不是 JavaScript 循环。
    【解决方案3】:

    他们使用来自服务器的动态数据来推入一个 JS 数组。

    【讨论】:

    • @FranVerona 这问题的答案。如果您认为它对问题的回答不够有用,您可以通过否决它来反映该观点,但这并不意味着它不是一个答案。
    猜你喜欢
    • 1970-01-01
    • 2013-01-03
    • 2014-10-06
    • 1970-01-01
    • 2011-09-18
    • 1970-01-01
    • 1970-01-01
    • 2018-02-11
    • 2019-08-15
    相关资源
    最近更新 更多