问题标签 [display-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.
c# - 为自定义类型定义 DisplayTemplate
定义属性类型时是否可以指定显示模板名称?
例如,我有一些课程:
然后我有一个模型:
然后我想IFooExample
在我的视图中渲染:
Foo
并且Bar
可以共享相同的显示模板,即~/Views/Shared/DisplayTemplates/IFoo.cshtml
. 如何将此逻辑插入 Mvc,这样我就不必从我的 View 调用中 a)创建Foo.cshtml
和或 b)视图( )的重载。Bar.cshtml
DisplayFor
@Html.DisplayFor(x => x.IFooExample, "IFoo.cshtml")
我也不想用 UIHint 属性来装饰我的模型。我真的很想指定有关Foo
and定义的信息Bar
:
但是UIHint
s不能应用于类级别。那么还有其他方法可以做到这一点吗?
search - 显示模板中的属性映射
我想我在显示模板上缺少 ManagedPropertyMapping 标记。事实上,我最初有这段代码:
无论我在该标签内做什么,它都不会改变我的结果的外观。换句话说, in 可以删除所有属性:
或者添加更多属性,没关系。
你能告诉我我错过了什么吗?
PS:我使用的是 SharePoint 标准
c# - 枚举的 DisplayTemplate 不适用于某些值
我有一个名为 Priority 的枚举类模型。我有一个优先级的编辑器模板和一个枚举的显示模板。在编辑器模板中,我创建了一个下拉列表,列出了所有可能的优先级值并在文本旁边显示字形图标。
问题是,在编辑器模板中,对于 where 的情况(e == Model)
,该行@Html.DisplayFor(model => e, "Enum")
不会调用显示模板,并且该选项仅显示图标而不显示文本。当我调试时,它通过那条线但没有通过显示模板。对于其他选项,它运作良好。
我的观点和模型看起来像这样:
优先级.cs:
Enum.cshtml(显示模板):
Priority.cshtml(编辑器模板)
我首先想到的是缓存。我从页面中删除了对显示模板的其他调用,但它仍然不起作用。
asp.net-mvc - MVC 4 自定义 HTML 助手与自定义显示模板
所以,我有一个类似下面的 obj 结构。
比较对象:
模型对象:
我有一个场景,我需要遍历“CObjs”并渲染List<string>
长度为 3 条记录(连续)的对象的比较表。
我已经使用自定义 HTML 助手实现了这一点,使其足够通用,可以在其他屏幕中使用。但是,有人告诉我,自定义显示模板在这种情况下会更快,性能更好。
请解释什么是最佳选择以及为什么。
提前致谢!!
sharepoint-2013 - Sharepoint 2013 - 在新窗口/标签中打开搜索结果
好的,所以我已经为这个问题苦苦挣扎了几个小时......我需要修改搜索结果中的链接,以便它们在新窗口/选项卡中打开。
具体来说,它是链接到“场外”点击的搜索结果。我创建了 Item_WebPage.html 的副本,但我无法让它工作。
我想有某种异步负载把它搞砸了。
我的js代码如下:
但是,“锚点”始终为“0”。我可以使用“sharepoint-document-ready-as-h*ll”功能吗?我的猜测是我的问题是在我运行代码之前并非所有内容都加载到 DOM 中......
search - 在 SharePoint Online 中使用 office 365 打开文档
我有一个名为“项目四行”的显示模板,基于开箱即用的“项目两行”模板,我将其修改为显示 4 行而不是 2 行。
我的文档正确显示以匹配我的搜索查询,但是当我单击搜索结果返回的文档而不是在浏览器中打开的文档(Word Online、Excel Online、PowerPoint Online 等)时,我会提示保存文档本地。此处的理想行为需要与单击文档库中的文档相同,其中文档由浏览器中的 Word Online、Excel Online、PowerPoint Online 等自动打开。
我需要向显示模板添加或执行任何操作来实现此目的吗?
任何帮助将不胜感激
c# - SharePoint 2013 人员:助理在创建为托管属性时返回空
如果我创建一个指向该People:Assistant
属性的托管属性,如果设置为文本,它总是返回一个空字符串,如果设置为二进制,它总是返回一个未定义的字符串。
Assistant 属性是 Person 类型,我想使用这些属性来创建到 Assistant 配置文件的链接。
我所做的是:填写用户配置文件中的助手字段
创建一个名为 assistant 的新托管属性
- 类型:文本
- 可回收:真
- 映射:
People:Assistant
在显示模板中,将助手添加到托管属性保存所有内容并进行爬网。
检查助手是否设置为个人资料上的另一个人
调试显示模板并检查ctx.CurrentItem.Assistant
. 它返回“”。
如果我将托管属性类型设置为二进制,则返回未定义
我也试过ctx.CurrentItem.Assistant[0]
或ctx.CurrentItem.Assistant["PreferredName"]
谁能指出我将如何将 Person 对象作为托管属性返回或获取对它的引用的正确方向,以便我可以创建一个新的 Person 对象并访问属性
asp.net-mvc - ASP.Net MVC 中 UIHint 属性的用途
只是从这个 url 阅读 UIHintUIHint 在 MVC 中 UIHint 属性的用途是什么
如果您使用 UIHint 属性注释属性并在视图中使用 EditorFor 或 DisplayFor,ASP.NET MVC 框架将查找您通过 UIHintAttribute 指定的指定模板。它查找的目录是:
对于编辑对于:
对于 DisplayFor:
上面写的意思是 MVC 引擎首先在 shared 中搜索视图,如果没有找到,那么它将在 ~/Views/Controller_Name/DisplayTemplates 中搜索视图?
我刚得到一个代码,但它不完整,所以无法正确理解它
如果我认为便便是共享视图,那么便便相关的视图代码在哪里?
当这条线将执行@Html.DisplayFor(m => m.Name)
然后会发生什么。
看到这个代码
MVC 会在哪里找到 yourTemplateName.cshtml 文件?
谢谢
arrays - @for 循环遍历 MVC 4 中的 json
(已编辑)现在我已经修复了以前的错误,但得到了错误:
路径中的非法字符。
我正在尝试遍历一些 json 构建无序列的链接列表。我@for
在显示模板和Html.DisplayFor
视图中有声明。这是我的代码:
控制器:
看法:
显示模板:
模型:
我在这里做错了什么?
c# - 迭代从 AbstractViewModel 和 DisplayTemplates 派生的 ViewModels 集合会呈现两个 DisplayTemplates
(为标题道歉..很难确定)
我有一种情况,控制器将构建一个列表,其中将包含一组从抽象基类派生的 ViewModel。然后我使用显示模板适当地呈现内容,但是当我导航到 url 时,它似乎将整个内容呈现两次。这是我的代码
然后我的控制器就这样构建了一个测试用例。
...为了完整起见,这里是基本控制器类(没什么特别的)..
..这是视图...
.. 和 2 个显示模板 TypeAViewModel.cshtml
.. 和 ... TypeBViewModel.cshtml
作为我得到的输出。
2
测试 A (1) 这是一些正文内容。
测试 B 第 1 行 第 2 行 第 3 行空格
测试 A (1) 这是一些正文内容。
测试 B 第 1 行 第 2 行 第 3 行空格
如您所见,它似乎将整个事物渲染了两次。我已经放置了一个断点并单步执行索引视图,绝对不会重复循环。有人看到我错过了什么吗?