您可以更改RenderSection的执行顺序吗?

时间:2019-10-16 07:31:33

标签: javascript c# html razor model-view-controller

是否有一种方法可以告诉RenderSection在_layout页面上的所有其他内容都完成后 运行?

我有一个RenderSection,其中包含Javascript。我想修改_Layout.cshtml页面上的元素。 如果在_Layout页面上的元素之后调用RenderSection,则可以正常工作,但是如果在结尾之前调用RenderSection,则它将不起作用,因为_Layout中的元素尚不存在。

        <h1 id="AA"> NewContent </h1>      <!-- works because AA exists -->

        @RenderSection("MySection")        <!-- Contains javascript to add New Content to AA and BB -->

        <h1 id="BB"> </h1>                 <!-- Does not receive content because it does not exist yet -->

1 个答案:

答案 0 :(得分:0)

我找不到改变Razor渲染部分顺序的方法,但找到了解决方法。

有一个有关W3Schools的教程,它允许您将URL中的HTML插入到您选择的DIV中。

How to insert HTML tutorial

这使您可以在DIV中指定从中加载HTML的URL。就我而言,我只是从我的一个MVC控制器中加载了它。

<div w3-include-html="content.html"></div>

然后,当您准备好加载HTML时,只需调用一个方法即可。

includeHTML();