有没有办法将代码附加到asp.mvc部分

时间:2011-07-18 02:30:55

标签: javascript asp.net-mvc-3 sections

我有部分被渲染为复杂页面组合的一部分。

其中一些部分需要一些jQuery OnDocumentReady才能播种列表数据等。 在渲染过程中可以选择许多这些部分(非常动态)

在我的_Layout中我有一个看起来像这样的部分定义

<script src="http://my/fav/cdn/jquery-1.5.1.min.js" type="text/javascript"></script>
<script type="text/javascript">
jQuery(function($) {
    @RenderSection("OnDocumentReadySection", false)
});
</script>

在我的偏见中我想写这样的东西

@section OnDocumentReadySection{
    $('#partial-1').init();
}

并使页面渲染的结果最终得到类似

的结果
<script src="http://my/fav/cdn/jquery-1.5.1.min.js" type="text/javascript"></script>
<script type="text/javascript">
jQuery(function($) {
    $('#partial-1').init();
    $('#partial-2').init();
    $('#partial-3').init();
    $('#partial-n').init();
});
</script>

这是为了确保我所有的javascript都在渲染的html的底部,我被告知它更加优化。

1 个答案:

答案 0 :(得分:1)

而不是:

jQuery(function($) {
    $('#partial-1').init();
    $('#partial-2').init();
    $('#partial-3').init();
    $('#partial-n').init();
});

你应该为它们分配一个共同的css类(即使你没有为它定义一个定义),然后在头部做这个:

jQuery(function($) {
    $('.classname').init();
});

或者如果需要:

jQuery(function($) {
    $('.classname').each(function(){ $(this).init(); });
});