【问题标题】:conditional javascript in .ascx.ascx 中的条件 JavaScript
【发布时间】:2010-07-13 16:33:11
【问题描述】:

我有一个 javascript 源代码,我需要将它添加到网站的某些页面中。

例如 <script type="text/javascript" src="http:abcxyz.com/zzz"></script>

我想有条件地在 .ascx 页面上添加此内容 - 如果 Request.ServerVariables["SCRIPT_NAME"] 以特定条件结尾。

ascx语言是vb,后面没有代码。

谢谢

【问题讨论】:

    标签: asp.net javascript vb.net custom-controls


    【解决方案1】:

    如果您将标签设置为 runat=server,您应该能够有条件地将代码添加为脚本:

    <head runat="server">
    
      <% If Request.ServerVariables("SCRIPT_NAME") = "value" Then %>
        <script type="text/javascript" src="whatever.js"></script>
      <% Else %>
        <script type="text/javascript" src="whatever_else.js"></script>
      <% End If %>
    
    </head>
    

    【讨论】:

    • 问题是它需要在正文中,如果我让正文 runat=server,它会弄乱其他东西..
    • @user228058 - 为什么它需要在体内?脚本引用应该能够放置在页面上的任何位置。相反,由于您需要在页面上的某个地方有一个
      ,您可以将相同的代码放在表单标签内。
    • 这应该可以在页面上任何地方没有 runat=server 的情况下工作,就像我的示例代码一样。
    • 你需要把 == 改成 = (不是 C#)
    • @James - tru dat。 runat=server 是我的习惯,因为我很少使用脚本。它可以完全删除。哦,变了。来回切换太多。
    【解决方案2】:

    后面没有代码,前面还有代码吗?

    这可能会做到......

    <%= If(Request.ServerVariables("SCRIPT_NAME").EndsWith("<criteria>"), "<script type='text/javascript' src='http:abcxyz.com/zzz'></script>", "")%>
    

    【讨论】:

    • 非常感谢。我试过这个,我得到一个表达式预期的错误。你知道为什么会这样吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-10-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多