将数据从视图传输到javascript的最佳方式

Best way to transfer data from view to javascript

本文关键字:javascript 最佳 方式 传输 数据 视图      更新时间:2023-09-26

我在一个Asp.Net MVC 3项目中工作,在我的一个javascript文件中,会向用户显示一条消息。此消息当前为一种语言,但我希望此消息为多种语言。我不想将这些语言直接存储在javascript文件中,而是存储在数据库中。我想知道是否可以将数据(字符串)从视图传输到javascript文件。

我发现的一个解决方案是在隐藏字段中设置视图中的数据,然后从javascript文件中提取数据。这个解决方案的问题是,我必须放置很多隐藏字段,这很难维护。

这个问题还有其他解决办法吗?

您可以尝试JavaScriptModel(http://jsm.codeplex.com)。

有了这个库,您可以通过在控制器操作中调用以下函数来添加变量:

this.AddJavaScriptVariable("VariableNameInJavaScript", SomeValue);

可以传递基元类型或复杂类型。

此外,您可以在控制器操作中使用以下代码执行javascript函数:

this.AddJavaScriptFunction("FunctionInJavaScript", SomeParameter, AnotherParameter);

是的,你走在正确的道路上。您所需要做的就是适当地水合您的模型,并使用Razor语法将值从服务器"按照以下行"传递给客户端:

<script src="@Url.Content("~/scripts/yourapi.js")"></script>
<script>
    yourapi.foo('@Model.SomeValue');
</script>