2009-10-01 179 views
1

注入字符串转换成一个javascript我有一个包含JavaScript函数,我需要的init /调用页面加载时的视图。该方法是静态的,但它需要与一些参数(Id的列表)调用 - 这个列表是动态的,并根据一些查询字符串参数(我不能从查询字符串生成列表客户端)。在一个asp.net MVC视图

所以我需要生成这个列表服务器端。

我的选择是,据我看到它:

1)请在客户端上Ajax调用,从服务器请求的ID。

2)直接在视图上注入/插入id(它是viewmodel上的一个属性)。

不管我怎么打开它,选项2似乎是最理智的。我已经在viewmodel上准备好了数据,因此当视图被填充时就准备好了 - 我没有理由向服务器发出额外的请求,只是为了获取数据。

我知道很多人会认为这是一个坏主意,动态注入一个静态的JavaScript。为此,我可以简单地只注入一个新的JavaScript,只保留Ids和一个对静态JavaScript方法的调用,这正是我真正想要做的。

虽然我的问题是这样的:当我编写我的asp.net <%=%>包含,VS IDE停止highligting,让我觉得我可能是在错误的轨道上?当然,我不是唯一需要在asp.net mvc的JavaScript块中输出内容的人吗?

+0

如果VS停止突出,这并不意味着该视图解析器不会回升服务器端脚本语句。 – 2009-10-01 06:05:56

回答

1

路线2(视图模型)是肯定要走的路和

<script type="text/javascript> 
<%= Model.JavascriptToInsert %> 
</script> 

应该工作(尽管缺少VS的高亮)

它不会在一个单独的JS文件的工作,虽然。它必须在你自己的观点中。

善良,

+0

我只是想把静态的JavaScript放在一个单独的js文件中 - 从动态中分离出静​​态的javascript。但是,谢谢,这就是我目前正在做的,只是想知道我是否错过了一些东西 - 我讨厌这样的高光没有出现...... – 2009-10-01 06:17:47

相关问题