1

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

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

这个问题还有其他解决方案吗?

4

2 回答 2

2

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

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

this.AddJavaScriptVariable("VariableNameInJavaScript", SomeValue);

您可以传递原始类型或复杂类型。

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

this.AddJavaScriptFunction("FunctionInJavaScript", SomeParameter, AnotherParameter);
于 2013-01-08T10:10:11.740 回答
1

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

<script src="@Url.Content("~/scripts/yourapi.js")"></script>
<script>
    yourapi.foo('@Model.SomeValue');
</script>
于 2012-08-02T02:25:54.100 回答