[英]How to get value of session variable using jQuery in external js file in ASP.NET MVC
[英]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.