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

标签 javascript c# asp.net eval

我想在脚本的 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 我如何访问 _file_img 该 javascipt 文件上的变量看起来像

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');

关于javascript - 如何将变量传递给 asp.net 中的外部 JS 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42220419/

相关文章:

css - 如何在具有布局模板的页面中添加标题部分

php - 如何删除下面示例中的数据库行?

javascript - 通过 AJAX 处理多个 View

c# - 为什么我的 backgroundWorker 不工作?

ASP.NET : select multiple values in query using Linq

c# - 如何在 ASP.NET 中的另一个页面上分配页面属性

javascript - ondomready和jquery的ready函数有什么区别?

javascript - 如何在AngularJS中将数据从模型异步返回到 Controller

c# - 快速获取特定路径下的所有文件和目录

c# - 为什么字段成员的初始化值必须在编译时确定?