// 调用内部脚本执行 engine eval(titlescript) // 转换为Invocable Invocable invocableEngine = (Invocable) engine // 不带参数调用sayTitle方法 invocableEngine invokeFunction( sayTitle ) // 调用外部脚本执行 // 创建JS文件的File对象 并读入流 File functionscript = new File( ajava js ) Reader reader = new FileReader(functionscript) // 开始执行ajava js里的程序 engine eval(reader) // 不带参数调用sayHello方法 invocableEngine invokeFunction( sayHello ) // 带参数调用sayHello方法 invocableEngine invokeFunction( sayHello mark ) } catch (Exception e) { e printStackTrace() } } } ajava js文件 function sayHello(){ sayHello(null) } function sayHello(name){ if(name==null){ println( 欢迎你!请注册Ajava会员 ) }else{ println(name+ 独立JAVA社区欢迎你 ) } } 运行结果(控制台) 源码实例 使用javax script调用JS脚本里的方法 lishixinzhi/Article/program/Java/hx/201311/26436
js脚本调用@viewbag的值需要使用以下代码:
<script type="text/javascript">
//var id=@ViewBag.id //这样直接写ViewBag.id会影响下面那条var name语句,因为ViewBag.id后面不能带分号
//var name = "张三"
//所以将ViewBag传值到js中应该这么写!
var id = "@ViewBag.id"//或者var id='@ViewBag.id'
var name="张三"
</script>
一、MVC ViewBag C#传值给javascript
C# using Newtonsoft.Json
public string getRaw() {
return JsonConvert.SerializeObject(iChartList)
}
javascript:
<script type="text/javascript">
try {
var data = JSON.parse('@Html.Raw(@ViewBag.model.getRaw())')
} catch (e) {
dataString = null
console.error(e)
}
new rp_prefer_controller(data)
</script>
二、js 读取viewbag list
@{
foreach (var item in ViewBag.Items)
{
<text>
……
</text>
}
}