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

2024-04-08

我想将所有 JavaScript 代码保留在一个部分中;就在收盘前body在我的主布局页面中标记,只是想知道最好的方法,MVC 风格。

例如,如果我创建一个DisplayTemplate\DateTime.cshtml文件使用 jQuery UI 的日期时间选择器,而不是将 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>
)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用编辑器/显示模板中的部分 的相关文章

  • Jquery,清除/清空 tbody 元素的所有内容?

    我认为这会相当简单 但似乎空方法无法清除我拥有的 tbody 如果有人知道执行此操作的正确方法 我将不胜感激 我只想删除 tbody 中包含的所有内容 到目前为止我正在尝试 tbodyid empty HTML table tbody tr
  • span 和 iframe 正文中的宽度(以像素为单位)

    我需要知道 a 的宽度 nbsp 以像素为单位 以及是否取决于字体大小 另外 页面中不同元素的情况是否有所不同 还有 就是 nbsp 与常规不同 目的 nbsp 不间断空格 位于正常空格之上是为了防止单词之间出现换行 您可以使用多个 nbs
  • 运行测试项目时自动启动ASP.MVC项目

    我正在尝试为我的 ASP 网站设置一个测试项目 对于某些测试 我想使用 selenium 来执行端到端测试 因此 我的网站必须运行 以便测试可以访问该网站 运行测试时如何启动我的网站项目 请参考以下链接 我相信这是可能的 但会有点棘手 这些
  • 在chrome中将pdf渲染为iframe

    我正在尝试将 pdf 托管在隐藏的 iframe 中 但在 Chrome 中呈现较小的问题时遇到问题 我必须刷新页面才能正确加载 JSfiddle 在这里https jsfiddle net 464xo40f https jsfiddle
  • 获取一行中的最后一个 li jQuery

    我们有一个简单的ul ul li some text li li some some text li li text more li li text here li ul ul text align center width 100px l
  • 更新我的模型然后重新评估 IsValid?

    我将一些值传递给我的控制器操作 一切都绑定得很好 根据设计 表单 POST 中会缺少两个属性 然后我设置了缺失的值 但随后我想验证模型 但它仍然显示为 false 因为 ModelState 似乎没有跟上我的更改 HttpPost Auth
  • Tomcat 基本 URL 重定向

    使用tomcat 如何获取请求http www mydomain example重定向到http www mydomain example somethingelse index jsp 我什至没有设法获得要显示的index htmlhtt
  • 依赖注入:没有为此对象定义无参数构造函数

    我正在尝试使用依赖项注入 NET Framework 4 6 ASP NET MVC 但收到错误 No parameterless constructor defined for this object 如果我还提供一个无参数构造函数Hom
  • 使下划线 CSS 过渡改变方向

    我正在使用我找到的一些风格这个网站 http callmenick com post simple css3 transitions transforms animations compilation创建有效的下划线幻灯片 请参见jsfid
  • 当动态列的 ng-prime 数据表中的行更新时如何更新行背景颜色?

    我想在行更新时更改行颜色 记录更新成功时如何设置行背景颜色 html
  • 打印带有图像的 html(每个图像在单独的页面上)

    我有一个带有图像的 HTML img img img img 打印时 我希望每个图像都位于单独的页面上 根据打印尺寸 现在我把图像从中间切掉了 有什么办法可以解决吗 您可以尝试以下方法 p p
  • (IE 特定)如何确定输入的文本是否比输入元素的宽度长

    这是所有版本 IE 特有的问题 在所有其他浏览器中 当文本溢出时 输入元素的scrollWidth 大于输入元素的clientWidth 有没有办法确定IE中输入字段中的文本超出了输入元素宽度的键 下面是一个检查 clientWidth 与
  • MVC 3 Razor - 如何阻止视图引擎搜索 aspx 和 ascx 页面?

    我在视图中遇到了一个小错误 并注意到视图引擎不仅搜索我的 razor 视图 还搜索 aspx ascx 页面 我的bug已修复 有没有办法告诉它只搜索 Razor 视图引擎 以下是显示的错误消息 The view Index or its
  • 如何使两个
    ...
    位于同一行?

    我的意思是 两个标签具有相同的高度 对所有 div 尝试这个 display inline block
  • 防止更新 ASP.NET MVC 和实体框架中未更改的值

    我正在使用 ASP NET MVC 和实体框架 我有一个 编辑人员 网页 可以在其中编辑人员的字段 然后在回发操作中 我使用以下代码 var person objectCtx Persons Where s gt s Id id First
  • 用于自由形式绘图的 javascript 库

    是否有一个 JavaScript 库可以让我在网页上绘图 然后保存该绘图的状态 我想使用鼠标绘制 2D 图像 然后如何存储和加载该绘图 使用 HTML5 画布 绘制图像的简单示例如下 http jsfiddle net ghostoy wT
  • 如何找出 ModelState 的哪个键有错误

    当 ModelState IsValid 为 false 时 如何确定 ModelState 中的哪些键包含错误 通常我只需将鼠标悬停在 ModelState Values 列表中 逐项检查错误计数 gt 0 但现在我正在处理一个包含一些复
  • charset-utf8 和字符实体

    我建议将我的 windows 1252 XHTML 网页转换为 UTF 8 我的编码中有以下字符实体 39 撇号 9658 右指针 9668 左指针 如果我使用编辑器更改字符集并将页面保存为 UTF 8 撇号保留为字符实体 指针被转换为代码
  • 保留以下文本的标题

    我正在使用 css 列计数功能将我的部分分成两列 在一个页面上 我在第一列的底部有一个 h3 标题 在下一列的顶部有一个 p 段落 我想保留该段落的前几句话的标题 我可以将其与整个段落一起包装在使用 inline block 样式的 div
  • 恢复默认的CSS属性

    我正在编写一个可在多个网站上使用的组件 每个网站都有自己的样式表 并且以不同的方式显示某些内容 我的所有 html 都包含在一个带有 id 的 div 中 div div 然而 我的组件是在所有网站上看起来一致 这很好 因为我将样式应用于组

随机推荐

  • 在 Fortran 90 中,是否必须事先声明数组维度?

    是否有必要在任何其他代码之前声明数组维度 例如 我编写了以下简化的示例代码 PROGRAM mytest IMPLICIT NONE INTEGER i j k mysum Let array c be a k by k 2 array D
  • 当我在表单中输入输入时,React 组件不必要地重新渲染

    我有一个反应组件来管理用户登录和退出 当用户在登录字段中输入电子邮件和密码时 整个组件 导航栏 在每次击键时都会重新渲染到 Dom 从而降低了速度 当用户在登录字段中输入凭据时 如何防止导航栏重新呈现 import React useCon
  • 确定一个点是否在由给定纬度/经度的 3 个点组成的三角形内

    我有 3 个点 lat lon 形成一个三角形 我如何找到一个点是否在这个三角形内 Java 代码只是三角形 即 3 个点 public static boolean pntInTriangle double px double py do
  • 使用 Devise 设置会话长度

    我的会话在 1 3 小时未使用后超时 不确定具体多长时间 我该如何调整这个 我查看了文档 似乎找不到这方面的设置 查看 config initializers devise rb 有很多配置设置 包括config timeout in 我的
  • 主线程中的Python套接字接受防止退出

    我正在使用 python 中的套接字 只是为了了解它们 然而 我真的对以下问题感到恼火 import socket soc socket socket socket AF INET soc bind localhost 8000 soc l
  • Twig,减去 2 个日期

    如何用 twig 减去两个日期 我有一个结束日期和一个开始日期 我想要两者之间的差异 例如 对于日期 2015 02 20 和 2015 02 13 我应该获得 7 我怎样才能做到这一点 感谢帮助 第一个解决方案 推荐 使用现有库 您可以使
  • 函数模板专门化类型 - 是可选的吗?

    Is the
  • 重置 HTML5 无效输入状态

    经过验证的输入最初不会被标记为无效 直到值发生更改 如何恢复这个初始状态 我的问题的详细信息 我有一个简单的订单 如果用户单击 添加项目 按钮 我将克隆第一个项目并清空输入字段 但由于我使用的是 html5 验证 清空会使它们无效 这是单击
  • 用于 BroadcastReceiver 的 Firebase 云消息传递意图过滤器是什么?

    我试图在 Android 系统收到 Firebase Cloud 消息通知时运行 Android BroadcastReceiver public class MyBroadcastReceiver extends BroadcastRec
  • 在 Android 上使用 Canvas 绘制两条线之间的区域

    我正在为我的应用程序开发一个简单的统计图形类 我尝试过 aChartEngine 和其他更多 但我更喜欢使用我自己的类 我正在使用包含 Android 的 Canvas 类绘制图形 但问题是我不知道如何填充线条和底部边框之间的区域 现在 矩
  • 在现有工作区上使用新 Eclipse 时如何重新附加 subclipse

    我的工作区中有一些项目是使用 Subclipse 从 SVN 导入的 现在 我使用新版本的 Eclipse 带有 Subclipse 打开此工作区 并且 团队 上下文菜单仅包含 应用补丁 有没有办法让 subclipse 处理这些项目 而无
  • Angular 2:防止路由器添加到历史记录

    我们有一个客户 在我们的应用程序中使用 iFraming 访问他们的网站 他们不希望我们应用程序中的路由器导航影响他们自己网站的后退按钮导航 我们尝试了几种方法 包括使用发布消息来尝试在history back 被触发时让iFrame与父窗
  • 忽略 Inf 值并运行 lm 回归

    这些是我的变量 gt dput y c 22 0713165394207 14 0880914427811 10 9650636244176 1 96648890706268 5 30593850426708 7 5465191603778
  • @MainActor 类是对主要参与者的扩展吗?

    如果正在上课 MainActor MainActor class MyClass NSObject 这是否将其所有扩展放在 MainActor还有 extension MyClass Yes As SE 0316 全球演员 https gi
  • 无法更改购物车总计中的 WooCommerce 优惠券标签

    事实证明 这是一个我无法解决的挑战 我几乎在其他地方都处理过将 优惠券 重命名为 促销 的工作 然而 调用优惠券名称和LABEL的WC LABEL的重命名就困难了很多 这是我正在谈论的内容的屏幕截图 我几乎已将站点范围内 优惠券 的所有用途
  • 为什么预期的字符串变成元组[重复]

    这个问题在这里已经有答案了 我预计变量output format成为一个字符串 但是当我运行脚本时它给了我一个tuple类型并抛出异常 如果我在 Python 解释器中运行 它会给我一个预期的字符串 sout standard access
  • 使用 PHP 内置 Web 服务器进行无脂路由

    我正在学习 fatfree 的路线 发现它的表现出乎意料 这是我在index php中的代码 f3 require once dirname dirname FILE lib base php f3 Base instance echo r
  • 如何将 UIView 出口连接到自定义子视图

    我还是 xcode iOS 新手 并且有以下问题 为了显示一些移动调试信息 我将 UIview 作为出口属性添加 连接到我的视图控制器之一 该视图是 UIview 的自定义子类 现在 我添加了一些 UIlabels 作为子视图到该视图中 并
  • 在 Java 中从 XML 生成/获取 Xpath

    我对建议 伪代码代码 解释而不是实际实现感兴趣 我想浏览 XML 文档及其所有节点 检查节点属性是否存在 如果节点没有属性 get generate String with value of its xpath如果节点确实有属性 则迭代属性
  • 使用编辑器/显示模板中的部分

    我想将所有 JavaScript 代码保留在一个部分中 就在收盘前body在我的主布局页面中标记 只是想知道最好的方法 MVC 风格 例如 如果我创建一个DisplayTemplate DateTime cshtml文件使用 jQuery