C# MVC5 实现HTML页面中引用的javaScript文件中的变量的初始化

一个控制器的View视图页面,引用了一个自己写的js文件JavaScript.js,视图代码如下:


<!DOCTYPE html>

<html>
<head>
    <meta name="viewport" content="width=device-width" />
    <title>Index</title>
</head>
<body>
    <div> 
    </div>

    <script src="~/Scripts/JavaScript.js"></script>
    <script type="text/javascript">
            Add();
    </script>
</body>
</html>

这个JavaScript.js文件内容如下:

a = 1;  //这个变量如何用服务器中在控制器的方法中赋予变量初始值
function Add() {
    alert(a + 123);
}

如何在这个视图的控制器方法中初始化引用的这个JavaScript.js中变量a的初始值

    public class TestController : Controller
    {
        // GET: Test
        public ActionResult Index()
        {
            return View();
        }
    }

7个回答

方法有很多,比如你可以用ViewBag

 public class TestController : Controller
    {
        // GET: Test
        public ActionResult Index()
        {
                    ViewBag.a = 1;
            return View();
        }
    }


a = '@ViewBag.a';  //这个变量如何用服务器中在控制器的方法中赋予变量初始值
function Add() {
    alert(a + 123);
}
wodexinhao
wodexinhao 不客气,其实不用Ajax也可以解决,有空可以多去研究一下,可以给你开括思路,有时候一个问题是有多种解法的
大约一年之前 回复
gaojijiezx
gaojijiezx 用Ajax解决了,哈哈哈,谢谢
大约一年之前 回复
wodexinhao
wodexinhao 你说的是ViewBag 是吧,可以的,你估计用错了,需要给你写好代码?你是哪里不可以说清楚点,而且方法有很多,其实我都告诉你了,你可以直接返回Model类型数据,可以通过ViewBag返回数据,一个Model数据可以放在ViewBag,多个Model数据也可以放在ViewBag,你不用ViewBag的话,还可以用ajax请求数据,然后赋值,这里就相当于提供了3种方法给你,你随便用哪一种都可以解决问题
大约一年之前 回复
wodexinhao
wodexinhao 可以的
大约一年之前 回复
gaojijiezx
gaojijiezx 用一个方法传整型数据是可以的,但是传递一个数据对象,例如person {age =2,address = “123”}这种数据的实例就不可以了,求赐教
大约一年之前 回复
wodexinhao
wodexinhao 这么说你懂了吧
大约一年之前 回复
wodexinhao
wodexinhao 方法很多,灵活应用
大约一年之前 回复
wodexinhao
wodexinhao 专门写一个函数来初始化这个值,然后通过函数传值就可以了,你还可以通过ajax的方式,都给你提供了
大约一年之前 回复
gaojijiezx
gaojijiezx javaScript代码如果不是放在单独放在一个JS文件中,直接写在<script>标签下你这样是可以的,但是这里javaScript代码是单独放在JS文件中然后视图页面引用,用ViewBag就不可以了
大约一年之前 回复

在后台直接写你要的值然后传到前台,前台a来获取后台传的这个值。你试试

caozhy
贵阳马善福 回复showbo: 可以的,兔~
大约一年之前 回复
showbo
支付宝加好友偷能量挖 阔以的,嘿嘿。。不懂mvc,webform直接<%=全局变量%>赋值给js
大约一年之前 回复

如果你是在某个Model中的变量,也可以返回Model,然后用这个Model去访问,当然也可以通过ajax请求数据,获取返回值然后赋值,你要什么方法给你什么方法

如果你这个函数所在js文件不在这个页面的js里面,那么可以通过传值的方式,当然你觉得麻烦的话,你也可以在那个单独的js里面通过ajax的方式获取这值,然后初始化,看你喜欢怎么用

var a;
function Init_a(e)
{
 a = 'e;//这个变量如何用服务器中在控制器的方法中赋予变量初始值
 }

然后在这个页面调用这个 Init_a('@ViewBag.a');

 var a;
function Init_a(e)
{
 a = e;//这个变量如何用服务器中在控制器的方法中赋予变量初始值
 }

刚刚多了一个'号

这个变量如何用服务器中在控制器的方法中赋予变量初始值

首先明确一个前提,单独在 js 文件中是无法用 razor 引擎的 @ 转义的,
而在 cshtml 中的 js 代码是可以通过服务器端动态控制生成的。

在明确了这个前提的情况下解决方案如下:

test.js 文件内容如下:

注意 a 是函数的入口参数
function Add(a) {
alert(a + 123);
}

cshtml 页面代码如下:

var value = @ViewBag.value ; Add(value);

** controller 方法代码如下:**
public class TestController : Controller
{
// GET: Test
public ActionResult Index()
{
ViewBag.value = 100;
return View();
}
}
完美解决你的问题。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
C#中变量的初始化
C#中变量类型都是从Object类中派生的,既然如此,他们都有默认的构造函数,可以进行初始化,但是为什么有些变量如Int必须明确附值,而不能像Class类型那样?
怎样引用javascript中的变量?
问题:rnfor (var i=0;i
在 中如何引用JavaScript变量
[code=JScript]rnvar winHeight=0;rnrnfunction findDimensions() //函数:获取尺寸rnrnrnrn//获取窗口高度rnrnif(window.innerHeight)rnrnwinHeight=window.innerHeight;rnrnelse if((document.body)&&(document.body.clientHeight))rnrnwinHeight=document.body.clientHeight;rnrnrn//通过深入Document内部对body进行检测,获取窗口大小rnrnif(document.documentElement && document.documentElement.clientHeight && document.documentElement.clientWidth)rnrnrnrnwinHeight=document.documentElement.clientHeight-140;rnrn//winWidth=document.documentElement.clientWidth;rnrnrnrnrn//document.write (winHeight);rnrnrnrnfindDimensions();rnrnwindow.onresize=findDimensions;rn[/code]rnrn如何把winheight赋值给rn
C#中引用javascript文件的问题。
我将javascript写在一个js文件中rn在aspx页面调用报语法错误。rn在html页面中使用正常。rn各位有没有遇到类似的问题?求教rnrnjs代码如下:rnvar isIE = (document.all) ? true : false;rnrnvar isIE6 = isIE && ([/MSIE (\d)\.0/i.exec(navigator.userAgent)][0][1] == 6);rnrnvar $ = function (id) rn return "string" == typeof id ? document.getElementById(id) : id;rn;rnrnvar Class = rn create: function() rn return function() this.initialize.apply(this, arguments); rn rnrnrnvar Extend = function(destination, source) rn for (var property in source) rn destination[property] = source[property];rn rnrnrnvar Bind = function(object, fun) rn return function() rn return fun.apply(object, arguments);rn rnrnrnvar Each = function(list, fun)rn for (var i = 0, len = list.length; i < len; i++) fun(list[i], i); rn;rnrnvar Contains = function(a, b)rn return a.contains ? a != b && a.contains(b) : !!(a.compareDocumentPosition(b) & 16);rnrnrnrnvar OverLay = Class.create();rnOverLay.prototype = rn initialize: function(options) rnrn this.SetOptions(options);rn rn this.Lay = $(this.options.Lay) || document.body.insertBefore(document.createElement("div"), document.body.childNodes[0]);rn rn this.Color = this.options.Color;rn this.Opacity = parseInt(this.options.Opacity);rn this.zIndex = parseInt(this.options.zIndex);rn rn with(this.Lay.style) display = "none"; zIndex = this.zIndex; left = top = 0; position = "fixed"; width = height = "100%"; rn rn if(isIE6)rn this.Lay.style.position = "absolute";rn //ie6设置覆盖层大小程序rn this._resize = Bind(this, function()rn this.Lay.style.width = Math.max(document.documentElement.scrollWidth, document.documentElement.clientWidth) + "px";rn this.Lay.style.height = Math.max(document.documentElement.scrollHeight, document.documentElement.clientHeight) + "px";rn );rn //遮盖selectrn this.Lay.innerHTML = ''rn rn ,rn //设置默认属性rn SetOptions: function(options) rn this.options = //默认值rn Lay: null,//覆盖层对象rn Color: "#fff",//背景色rn Opacity: 50,//透明度(0-100)rn zIndex: 1000//层叠顺序rn ;rn Extend(this.options, options || );rn ,rn //显示rn Show: function() rn //兼容ie6rn if(isIE6) this._resize(); window.attachEvent("onresize", this._resize); rn //设置样式rn with(this.Lay.style)rn //设置透明度rn isIE ? filter = "alpha(opacity:" + this.Opacity + ")" : opacity = this.Opacity / 100;rn backgroundColor = this.Color; display = "block";rn rn ,rn //关闭rn Close: function() rn this.Lay.style.display = "none";rn if(isIE6) window.detachEvent("onresize", this._resize); rn rn;rnrnrnrnvar LightBox = Class.create();rnLightBox.prototype = rn initialize: function(box, options) rn rn this.Box = $(box);//显示层rn rn this.OverLay = new OverLay(options);//覆盖层rn rn this.SetOptions(options);rn rn this.Fixed = !!this.options.Fixed;rn this.Over = !!this.options.Over;rn this.Center = !!this.options.Center;rn this.onShow = this.options.onShow;rn rn this.Box.style.zIndex = this.OverLay.zIndex + 1;rn this.Box.style.display = "none";rn rn //兼容ie6用的属性rn if(isIE6)rn this._top = this._left = 0; this._select = [];rn this._fixed = Bind(this, function() this.Center ? this.SetCenter() : this.SetFixed(); );rn rn ,rn //设置默认属性rn SetOptions: function(options) rn this.options = //默认值rn Over: true,//是否显示覆盖层rn Fixed: false,//是否固定定位rn Center: false,//是否居中rn onShow: function()//显示时执行rn ;rn Extend(this.options, options || );rn ,rn //兼容ie6的固定定位程序rn SetFixed: function()rn this.Box.style.top = document.documentElement.scrollTop - this._top + this.Box.offsetTop + "px";rn this.Box.style.left = document.documentElement.scrollLeft - this._left + this.Box.offsetLeft + "px";rn rn this._top = document.documentElement.scrollTop; this._left = document.documentElement.scrollLeft;rn ,rn //兼容ie6的居中定位程序rn SetCenter: function()rn this.Box.style.marginTop = document.documentElement.scrollTop - this.Box.offsetHeight / 2 + "px";rn this.Box.style.marginLeft = document.documentElement.scrollLeft - this.Box.offsetWidth / 2 + "px";rn ,rn //显示rn Show: function(options) rn //固定定位rn this.Box.style.position = this.Fixed && !isIE6 ? "fixed" : "absolute";rnrn //覆盖层rn this.Over && this.OverLay.Show();rn rn this.Box.style.display = "block";rn rn //居中rn if(this.Center)rn this.Box.style.top = this.Box.style.left = "50%";rn //设置marginrn if(this.Fixed)rn this.Box.style.marginTop = - this.Box.offsetHeight / 2 + "px";rn this.Box.style.marginLeft = - this.Box.offsetWidth / 2 + "px";rn elsern this.SetCenter();rn rn rn rn //兼容ie6rn if(isIE6)rn if(!this.Over)rn //没有覆盖层ie6需要把不在Box上的select隐藏rn this._select.length = 0;rn Each(document.getElementsByTagName("select"), Bind(this, function(o)rn if(!Contains(this.Box, o)) o.style.visibility = "hidden"; this._select.push(o); rn ))rn rn //设置显示位置rn this.Center ? this.SetCenter() : this.Fixed && this.SetFixed();rn //设置定位rn this.Fixed && window.attachEvent("onscroll", this._fixed);rn rn rn this.onShow();rn ,rn //关闭rn Close: function() rn this.Box.style.display = "none";rn this.OverLay.Close();rn if(isIE6)rn window.detachEvent("onscroll", this._fixed);rn Each(this._select, function(o) o.style.visibility = "visible"; );rn rn rn;rn
能否在asp.net中引用javascript中的变量???
能否在asp.net中引用javascript中的变量??rn如果可以,希望能提供一下方法啊~!!
怎样在javascript中引用vbscript中的变量
怎样在javascript中引用vbscript中的变量?
javascript中引用.cs文件中变量的问题
在ASP.NET2.0的.cs文件中定义了public string str1 ,在javascript中引用:var dd=<%=str1 %>rn 但是运行后,总是提示为语法错误,这是为什么啊?那位高手能帮忙解答一下!
在引用js文件中获取html页面的值
test.htmlrn[code=html]rnrnrn rn testrn rnrnrn rn rn rnrnrn[/code]rnrn那么我在http://127.0.0.1:8080/testWeb/test/js/test.js文件中怎么获取pid="201307xxxx";的信息呢。rn有时间的朋友帮忙看看,小弟不胜感激。rn
javascript变量与html页面问题
document.form2.2222money.valuern和document.form2.1111money.valuern我要变成rndocument.form2.+i+money.value这种形式。。要怎么写代码。。。。。rn
asp.net中引用的javascript文件。
asp.net web.config编码为默认,在某个aspx页面中引入了js文件,js文件中包含中文字符,rn然后打开该aspx后,出现js错误,该怎么解决这个问题呢?rn谢谢了。
12、变量的初始化和引用
C语言基础1-2天。其中包括开发概述及简单语法。
结构体变量的初始化和引用
<span style="color:#3D3D3D;">本课程详细讲授全国计算机等级考试二级C语言的所有考试重点和考点。并对考试原题中每一个知识点进行了解释和剖析。 </span><br /><span style="color:#3D3D3D;">课程内容:运算符与表达式 常用的数据输入、输出函数 选择结构程序设计 循环结构 数组 函数 指针 预处理和动态管理函数 结构体 文件操作。</span>
在html页面中引用外部html
使用rn rn rn rn来引入,其中top.html可以正常引入,再引入foot页面就看不到了rn下面是foot.html的代码rn rn rn rn rn 首页|站点地图|联系方式rn rn rn rn 沪ICP备123456号rn © 版权所有 1999-2010 远大软件有限公司rn rn rn rnrn一下是foot的css代码rn#footer rn rnrn#footer #offMenu rn FLOAT: left; WIDTH: 300pxrnrn#footer #copyright rn PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 12px; FLOAT: right; PADDING-BOTTOM: 0px; MARGIN: 0px; COLOR: #5d5d5d; PADDING-TOP: 0px; FONT-FAMILY: "宋体"rnrn
python中,如何在一个文件中初始化某变量,其它文件中引用?
现在在用pyserial做串口的读写功能,我现在想用pyserial的Serial类初始化一个串口的句柄:handle = Serial(...),然后在另外两个文件引用这个handle来读写数据,比如handle.write(),但问题就是每次引用handle就会调用一次Serial(),因此每次都执行一次打开端口操作,端口已经打开的情况下,就出现端口不可访问的异常。rn怎么做才能只是在初始化那个文件中初始化,其它地方只是拿来用呢?我用了import和from ..import..,都是这种情况rn像写数据库交互的脚本一样,应该只是建立一次数据库连接,然后其它脚本调用吧?有什么简单例子吗?rnrnps:我做什么编程项目都会在一些地方卡半天,这是怎么回事...
如何将javascript中变量的值显示在html页面中?
如何将javascript中变量的值显示在html页面中?
如何将c#中的变量应用到javascript中
string str1="hello!";rnResponse.write(" ");rnrn没有反应是怎么回事?
请问怎么在表单中引用Javascript的变量?
我想在表单中用当前页的URL,我已经用javascript把它取到一个变量中了,但是我怎么在表单中引用它呢?
在PHP中如何引用JavaScript变量~
在PHP中如何引用JavaScript变量~rnrn即在JavaScript中有一变量 var aa="123" ;rn那么我如何在PHP中申请同样的变量即 $aa="123" 呢?~~~~~~
javascript中的变量如何被FORM引用?
例如:rnvar a;rnrnrn在form中rninput type=text value=rnrnvalue的值怎么引用a?
如何在html中引用javascript变量
比如说我定义了一个javascript变量var a="ddsdsd";现在想在html表单中引用他,可以用类似jsp或者asp之类的描述符号应用这个变量么
谈谈JavaScript中的变量、指针和引用
1、变量 我们可能产生这样一个疑问:编程语言中的变量到底是什么意思呢? 事实上,当我们定义了一个变量a时,就是在存储器中指定了一组存储单元,并将这组存储单元命名为a。变量a的值实际上描述的是这组存储单元中存放的具体信息。 例如,在JS中 var a; a=10; 第一个语句在存储器中指定了一组存储单元,并命名为a; 第二个语句在这组存储单元中存储了数字10。 变量a的值为10实际...
html中如何引用 javascript变量
rn请问如何在html 中输出变量 a 的值。rn谢谢
类中变量的初始化
1、对于普通的成员变量,其初始化有两种方式: 一、直接赋值 二、在构造方法中初始化 2、对于被final修饰二没有被static修饰的成员变量,其初始化有两种方式: 一、直接赋值 二、在构造函数中初始化 3、同事被final和static修饰的成员变量,初初化有两种方式: 一、直接在定义中赋值 二、在静态代码块中赋值,如: class A{ final static int a
如何js中引用jquery文件,而不依赖与html页面中的
有一个jquery插件,使用的是jquery1.4,但是在html页面中要使用jquery3,使用1.4的版本不兼容,如何在这个js插件中使用jquery而不依赖于html页面中
mvc5 怎么在视图层直接访问控制中的变量?
首先一点,不能主动在控制器传。。什么view.xxx.都不用。rnrn控制器代码rnpublic string bianliang="test" //在视图页直接访问他,能行吗?rnrnpublic actionrest index()rnrnrn return. view()rnrn
如果在 中引用<%...%>的变量?
如题
:) 对话框中变量的引用
我编了一个对话框,在一个按钮的处理程序中要用到EDIT控件中用户输入的数值,怎样引用呀?rn试图直接用IDC_SECONDS,好象不对,谁有办法呀?
Markdown中的变量引用
Markdown中的变量引用 关键字:Markdown, 变量引用 原载地址:https://www.jianchengss.com/2018/04/05/Markdown中的变量引用/ 转载请注明出处! 写东西的时候突发奇想,Markdown支持变量引用吗?这么高大上的工具应该支持的吧?!于是就查阅了一些资料:果然支持! 下面把变量引用的用法记录一下。 使用变量的好处...
javascript可以间接的使用vbscript中的变量,那么vbscript中怎么引用javascript中变量呀?
rt
C#在两个窗体中变量引用的问题
在C#开发windows应用程序窗体名为form1;form2;我怎么样才能互相引用两个窗体的公共变量,form1是先打开的,form2是后面打开的 我想在form2引用form1的变量请问大侠门有什么办法,给个例子是最好的,本人菜鸟
在另一个文件中怎么引用另一个文件中的函数,变量
各位大侠再看看这个rn错误 1 error LNK2019: 无法解析的外部符号 "void __cdecl quiksort(int *,int,int)" (??$quiksort@H@@YAXPAHHH@Z),该符号在函数 _wmain 中被引用 Sort.obj Sortrn错误 2 fatal error LNK1120: 1 个无法解析的外部命令 D:\lyzh\Project\C++\Sort\Debug\Sort.exe Sort
JavaScript中的初始化?
以下是一段javaScript代码,rnrnfunction btnSignOut_onclick() rn Phone.hangEx();rnrnrnrn初学这个,rn问下大家 Phone 这个对象或者实例从哪里来的??rn这个不像 JAVA 又没有import引入,也没有声明,不明白啊???rnrn所以想问下大家javaScript的初始化???rn越详细越好,谢谢!rn
引用文件中的变量时中文乱码
inc.jsp中有一变量 strTest="测试";rnrna.jsp是用来生成XML文档的,我在a中引用inc.jsp中的strTest的时候,显示出来的是乱码rn有什么办法可以解决?
如何引用其他文件中的变量
rt,在一个文件中定义的变量如何aaa DWORD 1rn想在另一个文件中使用,该如何做rn我试了在inc文件中写上extern aaa:DWORD,但是链接仍然报错:rnTest.obj : error LNK2001: 无法解析的外部符号 _aaa
js 文件引用jsp文件中的变量
项目中是在jsp的公共文件中定义一些公共变量,已方便其他jsp文件引用,有时js文件也需要引用。比如项目相关的路径。 jsp中定义 定义变量contextPath的值为pageContext.request.contextPath 这个是获取工程那个路径。 &amp;lt;c:set var=&quot;contextPath&quot; value=&quot;${pageContext.request.contextPat...
在js文件中如何引用ASP变量??
alert("<%=Application("USERID")%>");rn我这样写报网页有错误rnrnalert('<%=Application("USERID")%>');rn我这样写确直接弹出来得是代码:<%=Application("USERID")%>rnrn请问怎么写正确?rn
IDEA查看变量在文件中的引用
选中变量,右键-Find Usages,或者Alt+F7。可查看到类或变量在项目的引用
HTML页面在delphi中实现
有如下一段HTML页面:rnrnrn 测试页面(软方式)rn rnrnrn rnrnrnrnrnrnrnrnrnrn在DELPHI中如果要实现,用什么控件?怎么实现?rn最好给个原代码
JavaScript变量引用问题
var a = {n:1}; var b = a; a.x = a = {n:2}; alert(a.x);// --> undefined alert(b.x);// --> {n:2}为什么a.x会是undefied?一步步来解析: 首先将a变量的指针指向 {n:1} 再把b的指针指向a,即{n:1} 先确定a.x 和a这两个变量的指针,如果没有指针则创建,将a.x创建为null
JavaScript变量的复制和引用
在这个课程中,我会按照有效的学习方法,从零开始,帮你的把 JavaScript 作为一个工具用起来。记住!是用起来,可不是从头到尾讲一大堆语法了事。我们学习的目的难道不是“去用”吗?
相关热词 c# xml的遍历循环 c# 取 查看源码没有的 c#解决高并发 委托 c#日期转化为字符串 c# 显示问号 c# 字典对象池 c#5.0 安装程序 c# 分页算法 c# gmail 发邮件 c# 多层文件