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

发布于 11-24 08:10 字数 910 浏览 1 评论 0原文

我有部分内容作为复杂页面组合的一部分呈现。

其中一些部分需要一些 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 的底部,我被告知这是更优化的。

I have partials that get rendered as part of a complex page composition.

Some of these partials need some jQuery OnDocumentReady goodness to seed list data etc.
There can be many of these partials chosen during a render (it's very dynamic)

in my _Layout I have a section definition that looks like this

<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>

in my partials I want to write something like this

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

and have the result of the page render end up with something like this

<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>

This is to make sure all my javascript is at the bottom of the rendered html which I am told is far more optimal.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

小伙你站住2024-12-01 08:10:36

而不是:

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(); });
});

Instead of:

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

You should instead assign each of them a common css class (even if you don't define a definition for it) and then do this in the head:

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

Or if need be:

jQuery(function($) {
    $('.classname').each(function(){ $(this).init(); });
});
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文