当前位置: 首页 > 面试题库 >

使用编辑器/显示模板中的部分

徐涵亮
2023-03-14
问题内容

我想将所有JavaScript代码都放在一个部分中;就body在我的主版式页面上的结束标记之前,只是想知道最好的方法,MVC样式。

例如,如果我创建一个DisplayTemplate\DateTime.cshtml使用jQuery UI的DateTime Picker
的文件,而不是将JavaScript直接嵌入该模板中,但是它将呈现中间页。

在我的普通视图中,我可以先使用@section JavaScript { //js here }然后@RenderSection("JavaScript", false)在主布局中使用,但这在显示/编辑器模板中似乎不起作用-有什么想法吗?


问题答案:

您可以结合使用两个助手:

public static class HtmlExtensions
{
    public static MvcHtmlString Script(this HtmlHelper htmlHelper, Func<object, HelperResult> template)
    {
        htmlHelper.ViewContext.HttpContext.Items["_script_" + Guid.NewGuid()] = template;
        return MvcHtmlString.Empty;
    }

    public static IHtmlString RenderScripts(this HtmlHelper htmlHelper)
    {
        foreach (object key in htmlHelper.ViewContext.HttpContext.Items.Keys)
        {
            if (key.ToString().StartsWith("_script_"))
            {
                var template = htmlHelper.ViewContext.HttpContext.Items[key] as Func<object, HelperResult>;
                if (template != null)
                {
                    htmlHelper.ViewContext.Writer.Write(template(null));
                }
            }
        }
        return MvcHtmlString.Empty;
    }
}

然后在您的_Layout.cshtml

<body>
...
@Html.RenderScripts()
</body>

在某些模板中:

@Html.Script(
    @<script src="@Url.Content("~/Scripts/jquery-1.4.4.min.js")" type="text/javascript"></script>
)


 类似资料:
  • 我正在开发一个springboot项目,使用Thymeleaf作为模板引擎。我使用Eclipse STS IDE,在那里我运行项目。 如果我从EclipseST内部更改模板(.html)上的某些内容,我将在视图上看到更改,但如果我使用其他编辑器(例如TextMate或方括号),则不会得到更改。 简而言之,如何从另一个编辑器(Eclipse STS外部)开发html模板?

  • 我想使文本编辑器显示显示在屏幕的左侧 如图所示,在编辑文本中写入的行数显示为1、2、3等 我也希望当用户向上或向下滚动的行数也滚动。提前致谢

  • 我无法在我的应用程序中获得一个业务逻辑。谁能帮我一下,我是android开发新手。 顺便说一句,我正在使用Android回收视图来显示项目列表,并且我需要显示已检查的项目已标记为签入回收视图。 我正在从服务器上查看项目:兴趣列表:[“古董收藏”、“工艺品”、“划船”] 这些项目需要与我的recyclerView ArrayList或项目进行比较。如果这些项目在RecyclerViewer中可用,我

  • 现在我想在wordpress管理中编辑我的主题的style.css文件,但它不显示完整的内容,它只是一些摘要信息。但是当我通过ssh登录我的主机时,我可以在style.css.中看到完整的内容

  • 表单创建页面工作正常,但我需要表单编辑页面。我想我需要一个att,但我找不到。我怎么做? 管理面板的呈现表单 在此输入图像描述 示例我的数据库行(json) {“type”:“header”,“subtype”:“h1”,“label”:“\u003Ch2\u003E\u0130\u015f Ba\u015fvuru Formu\u003C/h2\u003E”,“access”:false},{“

  • 我知道在/node_modules文件夹中编辑它是一个很大的“禁忌”。我将丢失对“npm安装”的所有编辑,或者我必须将整个/node\u modules文件夹添加到我的GIT项目中。 那么我该如何应对这个挑战呢? 在java世界中,我会扩展类,添加和/或重写内容,并在需要的地方使用我自己的“child”类。 但是angular 2组件模板呢??。。。 编辑: 如果你使用Angular2,你应该知道