ASP.NET核心 - HTML代码块重用

时间:2017-03-11 11:33:54

标签: javascript html asp.net asp.net-core bootstrap-modal

我正在使用Bootstrap 4处理ASP.NET Core项目,并且我想要在多个视图中显示一些Bootstrap模式。

这些Modals具有一些内部元素的Javascript函数,如Buttons和Inputs。

在多个视图中加载这些Modals(及其Javascript)的正确方法是什么?

我认为我使用的是PartialViews,但我不知道在哪里放置Javascript代码(我知道将它放在PartialViews中是一种不好的做法)。

2 个答案:

答案 0 :(得分:0)

创建一个单独的JS文件,并在使用此部分视图的每个页面的底部引用它,因此脚本不会阻止页面呈现。

或者,您可以创建一个包含模式HTML和JS的布局文件,并让您的视图继承自此。虽然由于构成优于继承原则,我会建议反对这种方法。

答案 1 :(得分:0)

Tag helpers可能更适合用于此,这是一个bootstrap模态标记助手ModalTagHelper

的示例

然后,如果你把它放在_ViewImports文件中:

@using AssemblyNameWithTagHelpers
@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
@addTagHelper "*, AssemblyNameWithTagHelpers"

你可以使用这样的标签助手:

<modal id="simpleModalFromAnchor" title="Modal Title">
    <modal-body>
        <h4>Something happened</h4>
        <p>Something happened</p>
    </modal-body>
</modal>

使用javascript,将它放在一个单独的js文件中并从你使用模式的每个页面引用它,更好的是,将它与其他使用良好的组件捆绑在一起并将其包含在_Layout文件的底部< / p>