我在几个部分视图中有几个JS代码。在MVC应用程序中组织JS代码
我认为将所有这些代码放在单独的JS文件中以将JS代码与HTML代码分开是个好主意。
但你如何处理JS内部的MVC代码?
下面的例子是我在部分视图中的JS代码。我想投入到JS文件,但JS代码有MVC代码@Url.Action("ResultForm", "File")
,它不会在JS文件中执行。
有什么建议吗?
JavaScript代码
<script type="text/javascript">
var varTimerSpeed = 5000;
var varTimerInterval;
var onlyOneInstance = false;
startTimer();
function startTimer() {
onlyOneInstance = false;
varTimerInterval = setInterval(loadResultForm, varTimerSpeed);
}
function loadResultForm() {
if (onlyOneInstance) return;
clearInterval(varTimerInterval);
onlyOneInstance = true;
$.ajax({
url: '@Url.Action("ResultForm", "File")',
data: '',
dataType: 'html',
success: function (data) {
$('#ResultForm').html(data);
startTimer();
}
});
};
</script>
不走这条路线的原因是它需要你以不能缓存的方式将相同的JS输出到每个页面上,从而增加了站点中每个页面的整体下载大小。相反,如果您包含引用外部文件的脚本标记,那么该文件可以是客户端缓存的,并且只要进行了更改就可以重新下载。 – 2012-08-08 22:12:27