繁体   English   中英

如何在asp.net中将变量传递给外部JS文件?

[英]How to pass variable to external JS file in asp.net?

我想在脚本的default.aspx文件中使用default.aspx.cs变量,我成功了

public partial class default: System.Web.UI.Page
{
    public string _file = string.Empty;
    public string _img = string.Empty;
    protected void Page_Load(object sender, EventArgs e)
    {
        _file = "~/videos/myVideo.mp4";
        _img = "~/images/myImg.png";
    }
} 

并在我的default.aspx文件中

<html>
  <body>
    <div id="dv_video"></div>
  </body>
</html>

<!-- jw Script -->
<script src="../jwplayer/jwplayer.js"></script>
<script type="text/javascript">
    jwplayer("dv_video").setup({
        file: '<%= _file %>',
        image: '<%= _img %>',
        height: 500,
        width: 850
    });
    </script>
<!-- jw Script -->

这段代码工作正常,我想将此脚本代码转移到外部 javascript 文件extras.js如何访问该 javascipt 文件上的_file_img变量,看起来像

jwplayer("dv_video").setup({
    file: '<%= _file %>',
    image: '<%= _img %>',
    height: 500,
    width: 850
});

已编辑

我使用此代码将参数传递给 js 文件extras.js

<script type="text/javascript" src="<%= Page.ResolveClientUrl("~/jwplayer/extras.js") %>">
    _image: '<%= _img %>';
    _file320: '<%= _file320 %>';
    _file480: '<%= _file480 %>';
</script>

这段代码在js文件上使用参数

jwplayer("dv_video").setup({
    image: window._image,
    sources: [{
        file: window._file480,
        label: "480p HD",
        "default": "false"
    },
    {
        file: window._file320,
        label: "360p SD",
        "default": "true"
    }],
    height: 500,
    width: 850
});

有几种方法可以做到这一点。 您可以像这样定义一个全局 JS 变量:

<script type="text/javascript">
_file = '<% _file %>';
_image = '<% _image %>';
</script>

然后你可以在你的外部 JavaScript 文件中使用这些变量,如下所示:

var file = window._file;
var image = window._image;

另一种解决方案是将这些变量作为数据值添加到 HTML 中。 像下面这样:

<html>
  <body>
    <div id="dv_video" data-file="<% _file %>" data-image="<% _image %>"></div>
  </body>
</html>

然后你可以像这样在你的 JS 中获取这些数据值:

var image = $('#dv_video').data('image');
var file = $('#dv_video').data('file');

只是一个小的修正。 使用 '=' 而不是 ':' 将值分配给变量,如下所示:

<script type="text/javascript">
 _file = '<% _file %>';
 _image = '<% _image %>';
</script>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM