问题标签 [view-templates]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ruby-on-rails - 你什么时候使用 <% -%> 而不是 <% %>
我注意到在某些轨道视图行中,使用了:
代替:
有什么区别?
c# - UIHint 不使用 EditorTemplate
我有一个这样的模型:
然后我有一个名为 Charities.cshtml 的 EditorTemplate:
然后在我的页面中:
但是,无论如何,它都不会呈现 Charities 模板。我一直在为此绞尽脑汁,它应该可以工作..但事实并非如此。
有任何想法吗?
编辑:
问题是默认的对象模板不会渲染除自身以外的复杂对象(所谓的浅潜),即使有 UIHint。我的印象是 UIHint 会使它呈现模板,但我显然错了。
解决方法是不要尝试让模型自己渲染。那是可悲的。
javascript - 在服务端渲染部分视图或在客户端发送 json 数据和渲染模板
我想知道在 Web 应用程序中呈现部分视图的好方法(或推荐方法)是什么。
我有一个要求,我需要使用 AJAX 将数据加载到已经呈现的页面中,有点像页面末尾的“加载更多...”链接,它从服务器获取更多信息并将其呈现到底部这页纸。
我目前正在使用的 AJAX 响应的两个选项是
- 返回数据的 JSON 表示,并使用客户端模板库(例如 jQuery 模板)或纯 JavaScript 将 JSON 转换为 HTML 并附加到页面底部
- 在服务器上渲染部分视图(在我的情况下使用 grails'
render template:'tmplt_name'
)并通过网络发送它并将结果附加到页面底部
还有其他方法可以做到这一点吗?如果不是,考虑到上述选项,在维护、性能和可测试性方面哪个更好?我可以肯定的一件事是,JSON 路由(在大多数情况下)将比通过网络发送 html 占用更少的带宽。
cakephp - CakePHP - 查看模板 - 获取内容的默认值?
这是书中的示例,一个简单的视图模板
这就是它可以扩展的方式
我的问题是: 如何为(比如说)标题设置默认值/内容,以便在需要时覆盖?
谢谢!
ruby-on-rails - 如何使用 RABL 对嵌套资源进行建模?
我想在我的 Rails 项目中设置一个嵌套路由,如下所示:
我使用RABL 模板来呈现 JSON 内容。可能是我误解了child
RABL 中元素的用途。据我了解,它们不会将我引向如下所示的 RESTful 路径。另一方面,请告诉我 RABL 是否不支持嵌套资源。
如何为嵌套路由输出 JSON,例如 ... ?如何编写与路线匹配的 RABL 模板users/:id/places
?
我不想显示用户信息。应该无法通过以下路径检索用户数据:
在项目中我使用CanCan 1.6.9。并设计 2.2.3。
asp.net-mvc - 带有 webgrid 而不是表格的 ASP.NET MVC 模板
是否有使用 WebGrid 而不是 的 Asp.net MVC 视图模板<table>
?
javascript - 尝试 AJAXify 这个 rails 4 方法调用并得到 500 错误
我的视图中有一张表:views/uploads/index.html.erb
这是部分“_upload.html.erb”
我试图在后台作业运行并且表中的值发生变化时更新此表。
为此,我有以下设置: 1)在我的 upload_controller.rb 中,我有以下方法:
2)在我的 uploads.js.coffee 我添加了这段代码
3)我用以下代码添加了一个文件'refresh_table.js.erb'
4)最后我用这一行作为最后一行更新了我的路线文件:
我重新启动了服务器并启动了更新表值的后台作业。我在 chrome 中运行了 javascript 控制台,我看到的只是每 1 秒出现一次这些行
我不确定出了什么问题。我是 AJAX 新手,所以我想知道是否有人可以帮我解决这个问题。谢谢
更新:尝试下面发布的解决方案后,我的 routes.rb 如下所示:
这是在我的 chrome 浏览器中看到的“网络”选项卡的图像:
控制台选项卡如下所示:
服务器控制台输出:
网络预览标签:
预览选项卡:
ruby-on-rails - 让 Rails 在子目录中查找 .mobile 文件?
我正在使用移动 fu gem 进行一些用户代理检测,以便我可以根据客户端提供 .html 或 .mobile 扩展模板,
现在,这部分工作得非常好,但我不喜欢视图文件夹变得有点混乱,有两倍的文件,即。
app/views/profiles/show.mobile.haml
app/views/profiles/show.html.haml
app/views/profiles/edit.mobile.haml
app/views/profiles/edit.html.haml
等等等等
我想要的是:
app/views/profiles/html/show.html.haml
app/views/profiles/html/edit.html.haml
和
app/views/profiles/mobile/show.mobile.haml
app/views/profiles/mobile/edit.mobile.haml
并让 Rails 根据请求自动查找文件的正确文件夹/目录。 这可能吗?
也许这真的很容易做到,让我知道这是否是开箱即用的行为..
谢谢
c# - 在 ASP.NET MVC 中使用带有 IEnumerable 模型的自定义编辑器模板的正确惯用方式
快速刷新。
什么时候:
- 该模型具有类型的属性
IEnumerable<T>
- 您将此属性传递给
Html.EditorFor()
使用仅接受 lambda 表达式的重载 T
您在 Views/Shared/EditorTemplates 下有一个类型的编辑器模板
然后 MVC 引擎将自动为可枚举序列中的每个项目调用编辑器模板,生成结果列表。
例如,当有一个Order
具有属性的模型类时Lines
:
并且有一个视图Views/Shared/EditorTemplates/OrderLine.cshtml:
然后,当您@Html.EditorFor(m => m.Lines)
从顶级视图调用时,您将获得一个页面,其中包含每个订单行的文本框,而不仅仅是一个。
但是,正如您在链接问题中看到的那样,这仅在您使用EditorFor
. 如果您提供模板名称(为了使用不是以OrderLine
类命名的模板),则不会发生自动序列处理,而是会发生运行时错误。
此时,您必须将自定义模板的模型声明为IEnumebrable<OrderLine>
并以某种方式手动迭代其项目以输出所有项目,例如
这就是问题开始的地方。
以这种方式生成的 HTML 控件都具有相同的 id 和名称。当您稍后发布它们时,模型绑定器将无法构造OrderLine
s 数组,您在控制器中的 HttpPost 方法中获得的模型对象将是null
.
如果您查看 lambda 表达式,这是有道理的——它并没有真正将正在构造的对象链接到它来自的模型中的某个位置。
我尝试了各种迭代项目的方法,似乎唯一的方法是将模板的模型重新声明为IList<T>
并用以下方式枚举它for
:
然后在顶层视图中:
它提供了正确命名的 HTML 控件,这些控件在提交时被模型绑定器正确识别。
虽然这有效,但感觉非常错误。
什么是使用自定义编辑器模板的正确惯用方式EditorFor
,同时保留允许引擎生成适合模型绑定器的 HTML 的所有逻辑链接?
orchardcms - 覆盖果园视图模板
我想自定义/更改登录页面的 html/css (~/Modules/Orchard.Users/Views/LogOn.cshtml)。
我在主题文件夹(Themes - MyCustomTheme - Views - LogOn.cshtml)下创建了一个同名的cshtml文件。这没有用。如何从我的自定义主题中覆盖主 LogOn.cshtml?
编辑:
如果我启用形状跟踪器,这就是我所看到的,
活动模板:~/Modules/Orchard.Users/Views/LogOn.cshtml </p>
备选 (1):~/Themes/SafeMode/Views/LogOn.cshtml
谢谢。