问题标签 [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.

0 投票
1 回答
2226 浏览

asp.net-mvc - 字符串的 ASP.NET MVC 显示模板用于整数

我最近遇到了 ASP.NET MVC 显示模板的问题。说这是我的模型:

这是控制器:

这是我的观点:

如果出于某种原因我需要所有字符串的显示模板,我将创建一个 String.ascx 部分视图,如下所示:

这就是问题所在 - 在运行时抛出以下异常: “传递到字典中的模型项是'System.Int32'类型,但是这个字典需要'System.String'类型的模型项”

似乎 String.ascx 用于 Model 类的整数和字符串属性。我希望它只用于字符串属性——毕竟它被命名为 String.ascx 而不是 Object.ascx 或 Int32.ascx。

这是设计使然吗?如果是 - 它是否记录在某处?如果不是 - 它可以被认为是一个错误吗?

0 投票
4 回答
4131 浏览

c# - ASP.NET MVC 3 通用显示模板

我刚刚使用 ASP.NET MVC 3 开始了一个项目。我在现有对象系统之上构建,所以我要做的第一件事就是为现有的各种类型定义显示和编辑器模板。

在 MVC 中是否可以使用通用参数定义 DisplayTemplate?例如,我们有一个BitString<T>类,它将枚举作为通用参数,并表示包装提供的枚举的选项列表。我希望我可以定义一个处理所有 BitString 实例的显示/编辑器模板。

我目前正在将 Razor 用于我的视图,但我不介意与 ascx(或直接 C#,如果有办法的话)混合和匹配来实现这一点

谢谢

编辑:我认为这可能是这个问题的一个重复......但它已经一年半了,所以也许有人在这一点上有更好的答案? 泛型部分视图:如何将泛型类设置为模型?

0 投票
2 回答
1552 浏览

c# - 我如何制作一个显示集合内容的 ASP.NET MVC3 DisplayTemplate?

我试图在我的视图中显示集合的内容..但使用 aDisplayTemplate来处理视图的定义,用于该专用属性/对象。

例如。

并且 foo 对象是..

和...

所以我在DisplayTemplates这个控制器的视图文件夹中创建了一个名为的文件夹。然后我添加了一个名为Foo.cshtml以下内​​容的文件

我的视图上显示了什么?

System.Collections.Generic.List`1[MyNamespace .....Foo]

. 我已确认此收藏中至少有一件商品。有什么想法吗,伙计们?

0 投票
2 回答
350 浏览

c# - 在这种情况下我会使用什么(asp.net mvc 3 显示模板)

我有这样的东西

我尝试使用“ @Html.DisplayForModel()”,但我似乎采用了视图的视图模型(所以在我的例子中是 ViewModel1)

我需要让它采用 ViewModel2,但我看不到任何传入 ViewModel2(模型对象)的选项。

然后我尝试了

这并没有很好地工作,它只是像第一个属性值一样打印出来,甚至从未制作任何单元格。

这里基本上是我的显示模板

那么我怎样才能使这项工作呢?

0 投票
1 回答
1305 浏览

asp.net-mvc-3 - MvcSiteMap - 迭代 Model.Nodes 时出现 NullreferenceException。(ASP.NET MVC3 剃刀)

我对 MvcSiteMap 有一些问题。在 Model.Nodes 上进行交互时出现 NullreferenceException,因为 Model 为 NULL。

我让它与@Html.MvcSiteMap().Menu() 一起工作,但是当我尝试从您的DisplayTemplate 中获取样本时,我得到了NullreferenceException。

我已经复制并粘贴了模板中的代码,所以我看不出它为什么不起作用。也许我忘记了什么?

这是我的代码:

mvc.sitemap

测试站点地图.cshtml

家庭控制器.cs

我无法弄清楚我做错了什么!

希望任何人都可以提供帮助!谢谢!

0 投票
3 回答
2918 浏览

asp.net-mvc-3 - 如何从 @Html.EditForModel() 中排除字段但使用 Html.DisplayForModel() 显示

我正在阅读 ASP.NET MVC 及其所有有趣的用途,我刚刚发现了DataTemplates

在我急于测试这个东西的过程中,我将我的一个更简单的模型转换为使用它@Html.DisplayForModel()@Html.EditForModel()它就像一个幸运符:)

我立即发现的一件事是,我无法轻松定义一个字段以显示在显示视图上,但根本不存在以进行编辑......

0 投票
2 回答
21324 浏览

asp.net-mvc - 为集合中的每个项目使用 DisplayTemplate(带有 DisplayFor)

我为一个Comment类创建了一个 DisplayTemplate,并将其放在Comment/DisplayTemplates/Comment.cshtml.

Comment.cshtml输入正确:

然后,我有一个采用IEnumerable<Comment>for 模型的局部视图。在那里,我遍历集合并希望将 DisplayTemplate 用于Comment该类。观点的完整性:

但是,我收到一条错误Html.DisplayFor消息:

传入字典的模型项的类型为“System.Int32”,但此字典需要“System.String”类型的模型项。

如何为foreach循环中的每个项目调用 DisplayTemplate?

0 投票
4 回答
5333 浏览

asp.net-mvc - MVC 3 多个 DisplayFor 模板

我正在尝试为篮子项目列表制作自定义模板。我需要一些不同的模板,因为我有不同的显示项目的方式,具体取决于它是在网页上还是在邮件中。现在我的问题是,当我使用默认名称时,它可以完美地工作。

但是当我尝试添加模板名称时,我期望我的模板需要是列表类型 IEnumerable 而不是 BasketItem。

任何我的错误所在的想法,或者为什么它不可能的想法都值得赞赏。谢谢。

0 投票
3 回答
7657 浏览

asp.net-mvc - 带有 UIHint 的 ASP.NET MVC 3 自定义显示模板 - 需要 For 循环吗?

如果我有这样的ViewModel

还有一个带有这样一行 HTML的强类型视图:

还有一个带有这样签名的显示模板:

我收到一条错误消息,提示“模型项是类型List<SomeViewModel>,但此字典需要类型的模型SomeViewModel。”。

这是有道理的,但我希望 MVC 的内置模板智能能够发挥作用,看到它是一个IEnumerable东西,并努力调用我的模板 N 次,就像它通常在Html.DisplayFor没有提示的情况下所做的那样。

所以它看起来像[UIHint]覆盖了那个功能?

显然,我可以指向另一个接受集合和调用的模板Html.DisplayForModel(),基本上模拟 MVC 智能。但我希望避免这种情况。老实说,我宁愿做一个 foreach 循环,也不愿拥有那 1 行“包装器”模板。

有更好的想法吗?

就像我想说:“嘿 MVC,为这些人中的每个人渲染一个模板。但不是使用名称约定来查找模板,这里有一个提示”。

0 投票
1 回答
1020 浏览

c# - 有什么方法可以将编辑器和显示模板与字典一起使用在 ASP.NET MVC3 中?

当我的模型(或子模型)是对象时,我通常会使用EditorDisplay模板。List<T>这样我就可以避免用几个foreach结构来“破坏”我的代码。

我想知道当模型是对象时是否有任何方法可以使用编辑器显示模板。Dictionary<K,V>

谢谢

弗朗切斯科

PS:Razor的答案更受欢迎