问题标签 [editortemplates]

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 投票
3 回答
1158 浏览

asp.net-mvc-3 - 这个简单的 DateTime 对象的 EditorTemplate 有问题

我想为我的任何模型中的每个数据时间对象配置 EditorFor 模板。

我收到此错误:

\EditorTemplates\DateTime.cshtml(1): 错误 CS1973: 'System.Web.Mvc.HtmlHelper' 没有名为 'TextBox' 的适用方法,但似乎具有该名称的扩展方法。扩展方法不能动态调度。考虑强制转换动态参数或在没有扩展方法语法的情况下调用扩展方法。

这是位于 EditorTemplate 中的完整代码,DateTime.cshtml 位于 EditorTemplates 文件夹中。

有任何想法吗?

这是我在视图中所说的:

这是我制作的自定义 EditorTemplate:

基本上,对于我模型中的每个日期时间对象,我想将“日期选择器”类添加到该 html 元素中。这是为了 jQueryUI 的目的。

我究竟做错了什么?

0 投票
1 回答
1551 浏览

asp.net-mvc-3 - 在 MVC 编辑器模板中为 List<> 模型应用偶数/奇数样式

我正在尝试将一些奇数/偶数样式应用于由 ASP.NET MVC 3 中的 Razor 编辑器模板呈现的数据行。

这是我可能的观点的一些基本代码:

这里是可能的编辑器模板

有人知道如何从编辑器模板中检测偶数/奇数情况吗?

干杯...

0 投票
2 回答
2346 浏览

jquery - 可空的 DateTime、EditorTemplates、JQ UI DatePicker

我的意图是通过根据这篇文章ASP.NET MVC 2 Templates创建 EditorTemplate 将 JQuery UI Datepicker 应用到我的整个站点

相关代码如所描述的那样完美运行;但是,除了几个 DateTime 字段之外,模型还包含 1 个可为空的 DateTime 字段,并且导航到页面会导致此错误:

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

事实上,即使在路径 Views/Shared/EditorTemplates 中创建一个名为“DateTime”的空部分也足以产生错误,这表明即使重写了模板,它仍可能无法处理空值。索引视图中的代码(通过 EF Code-First 通过 MvcScaffolding 生成)对于可空和不可空的 DateTime 字段是相同的:

那么是否可以修改模板来处理可为空的 DateTime?

0 投票
3 回答
812 浏览

asp.net-mvc-3 - 未填充列表的 MVC3 编辑器模板

问题:当我为 UserModel 加载 EditorTemplate 时,UserRoles 列表不会生成 UserRole 编辑器列表。

我的模型:

我的编辑器模板:

实际输出如下:

用户名 [ someuser ]

角色

预期输出:

用户名 [ someuser ]

角色

role1 [x] ischecked 角色为 1

role2 [x] ischecked 角色 2

role3 [x] ischecked 角色为 3

0 投票
1 回答
723 浏览

asp.net-mvc-3 - 在编辑器模板中选择 CheckBoxFor 和 TextBoxFor

我有一个适用于多种数据类型的编辑器模板。它们中的大多数由 TextBoxFor 显示,但我想在布尔值上使用 CheckBoxFor(这些不能为空)。就像现在一样:

CheckBoxFor lambda 中出现错误:无法将类型“object”隐式转换为“bool”。存在显式转换(您是否缺少演员表?)。如果我尝试演员,我会得到一个像这样的异常:ASP.net MVC CheckBoxFor cast error。但是,我不能使用那个解决方案,因为我不能在这个通用解决方案上使用模型成员。我要放弃梦想吗?

0 投票
1 回答
671 浏览

asp.net-mvc - 基于下拉值的 Asp.NET MVC 2 动态编辑器模板

我正在研究模型标准构建器。我有一个包含所有模型属性的下拉列表、一个包含静态运算符(小于、等于、like 等)的下拉列表和一个用于值的用户输入表单元素。问题是用户输入值的表单元素类型(下拉列表、日期、文本框等)需要基于在第一个下拉列表中选择的模型属性的数据类型。使用 MVC 2 实现这一目标的最佳方法是什么?理想情况下,我只想创建一个 Html 扩展方法并像使用它一样使用它,Html.CriteriaFilterFor(model => model)并且能够使用模型属性和元数据自定义显示。

0 投票
1 回答
2975 浏览

asp.net-mvc-3 - 带有 MVC3 EditorTemplate 的 IEnumerable 属性

与这篇文章IEnumerable model property in an ASP.NET MVC 3 Editor Template类似,我有

模型

查看 - EditStudent

学生/编辑模板/班级

控制器

  1. 声明 @Html.EditorFor(m => m.Classes); 时查看错误 是..

    传入字典的模型项的类型为“System.Collections.Generic.HashSet`1[Class]”,但该字典需要“Class”类型的模型项。

  2. 基本上,我想要实现的是显示所有可用类的列表,旁边有一个复选框(我还没有达到那部分代码)。然后检查学生的所有课程是否已注册并允许更改选择。

    • 如何显示具有给定模型的复选框列表。
    • 我应该将我的 EditorTemplate 与 ViewBag.Classes 绑定(如何?)还是?
    • 我还需要在 Post ActionMethod 中获取选定的复选框值。
    • 我阅读了一些建议创建 CheckBoxListHelper 的帖子,但应该可以使用 EditorTemplate,因为我需要显示一个简单的列表。

请建议。谢谢。

0 投票
1 回答
5907 浏览

string - 自定义 Asp.net MVC 3 编辑器模板未使用

我有一个使用 Razor 视图引擎的 MVC 3 Web 应用程序。我想扩展默认编辑器模板,所以我想为input元素添加额外的 HTML5 属性,如autofocus.

AdditionalMetadataAttribute用来将我的实体上的某些属性指定为自动对焦:

由于视图脚手架使用EditorFor方法,我决定尝试并希望覆盖默认的String.cshtml模板,以便它还将任何其他元数据添加为属性。一起玩意味着我不想使用TextBoxFor我可以控制输入属性的地方。

这是我对String.cshtml的细微改动,它添加了所有额外的元数据属性作为输入 HTML 属性:

此模板应该input type=text使用相同的 CSS 类进行渲染,但如果提供了任何其他属性,则还应使用其他属性。

然后我把这个文件放在~/Views/Shared/EditorTemplates/文件夹中,但似乎这个模板永远不会被选中,因为我得到的只是默认的输入文本框。

我究竟做错了什么?

0 投票
2 回答
1667 浏览

asp.net-mvc - 在自定义编辑器模板中,如何访问应该用于编辑控件的字段名称?

可能重复:
如何在自定义编辑器模板中获取模型的字段名称

当为特殊类型的实体输出编辑控件时,例如,让我们说一种颜色或其他东西:

我希望它输出一个下拉列表,所以我尝试创建一个自定义编辑器模板来呈现这样的下拉列表。这是我的模板到目前为止的样子:

我必须放什么来代替-为下拉列表???指定 HTML 属性的参数?name


(出于显而易见的原因,它不仅仅是. 考虑对相同类型的不同字段"Color"多次调用相同的编辑模板,例如:

显然,这需要生成具有不同名称的下拉菜单。)

0 投票
1 回答
837 浏览

asp.net-mvc - 不能同时使用 TypeConverter 和自定义显示/编辑器模板?

场景

假设我有以下两个模型类:

现在在创建新产品的表格中,我可能有这条线用于颜色字段......

我希望它生成一个颜色下拉列表,所以我创建了一个自定义编辑器模板......

到这里为止,这行得通。但是现在如果我提交这个创建表单,我会收到这个验证错误:

从类型“System.String”到类型“MyProject.Models.ProductColor”的参数转换失败,因为没有类型转换器可以在这些类型之间进行转换。

当然,这是因为 HTTP 请求包含作为字符串的颜色 ID(例如"1"),并且需要一些代码将其转换为实际ProductColor实例。于是我写了一个TypeConverter...

现在提交请求可以正常工作,但自定义编辑器模板不再有效。它只是没有被调用。系统认为我的类型基本上像字符串,只是生成一个文本框。

问题

我不能让两者都工作。要么我有一个类型转换器,在这种情况下我没有得到下拉菜单(因为自定义编辑器模板永远不会被调用),或者我没有一个类型转换器,在这种情况下,提交请求时验证失败.

什么是正确的解决方案?