问题标签 [mvc-editor-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 回答
1384 浏览

taxonomy - Orchard CMS:自定义分类法视图模板不起作用

我在我的一种自定义内容类型中使用了分类部分,并且使用形状跟踪器,我能够为该控件创建自定义视图模板 (Fields.Contrib.TaxonomyField.cshtml)。

当我对页面上的元素进行形状跟踪时,在模板下它确实显示了我的自定义模板,就像我在外部文件上的一样:

但是,当我切换到实际输出的 HTML 时,它显示的是标准的内置模板,并且没有使用我的自定义。

根据形状跟踪器,它正在使用我的自定义模板:

形状字段_Contrib_TaxonomyField

活动模板 ~/Themes/Continuum/Views/Fields.Contrib.TaxonomyField.cshtml

显示类型详细信息

这感觉像是一个错误......一切看起来都连接正确......我还需要做些什么来使用我的自定义视图模板进行分类吗?

非常感谢!

0 投票
4 回答
25967 浏览

c# - 如何使 Html.CheckBoxFor() 在字符串字段上工作?

我正在使用带有 Razor 和 C# 的 ASP.NET MVC3。我正在制作各种表单构建器,所以我有一个模型,其中包含以下对象的集合:

MyFormType 只是一个枚举,它告诉我表单字段是复选框、文本框、文件上传还是其他。我的编辑器模板看起来像这样(见评论):

~/Views/EditorTemplates/MyFormField.cshtml

我尝试将 CheckBoxFor() 的 lambda 表达式中的转换/转换m.Value为布尔值,但这引发了错误。我只是手动构造一个复选框输入,但 CheckBoxFor() 似乎做了两件我似乎无法复制的事情:

  1. 创建一个隐藏的输入,该输入以某种方式被复选框填充。这似乎是模型活页夹拾取的内容。
  2. 从对象生成名称,以便模型绑定器将值获取到正确的属性中。

有谁知道在字符串上使用 CheckBoxFor() 的方法,或者手动复制其功能的方法,以便我可以完成这项工作?

0 投票
2 回答
3603 浏览

asp.net-mvc - 如何在 ASP.Net MVC(3) 的 EditorTemplates 中显示一个 RadioButtons 组

我有一个项目列表,我希望用户能够从中输入一些值选择一个但是 EditorTemplate 生成的单选按钮被命名为“Item[x].SelectedItemId”,因此它们完全相互独立并且我无法获得价值...

让我们来展示一些代码。该模型:

风景:

编辑器模板:

更新

这就是我要的:

我想要的是

这就是我得到的:

我得到了什么

因此,FormModel.SelectedItemId 永远不会获得任何单选按钮的值。

我究竟做错了什么?

0 投票
1 回答
417 浏览

asp.net-mvc-3 - 用于插入的编辑器模板中的不可空值类型

我需要帮助解决与同事的设计决策障碍。我几乎不尊重他的意见,但喜欢在 Stack Overflow 上发布问题,所以这里是 :)

假设我有以下模型:

在我的模板中,我想创建一个表单来更新/插入这个模型,所以我有以下代码:

在进行更新时,这会将文本框的值设置为现有模型的值,这很好。但是,当我使用插入的空模型执行此操作时,它将文本框设置为1/1/0001,这不好。

为什么会发生这种情况对我来说很明显,解决方案似乎是可以为FooDate空并[Required]在其上放置一个属性。我的同事似乎不同意这一点,因为该FooDate属性并不是真正可以为空的。

我想另一种选择是为插入和更新使用不同的表单模板,但这在其他方面似乎同样浪费。

有没有其他人遇到过这个困境?如果是这样,您采取了什么途径来解决/绕过它?

0 投票
1 回答
2149 浏览

asp.net-mvc - “必需”数据注释不适用于一组复选框

我的问题有点类似于这个问题Custom Validation on group of checkboxes

我在视图(New.cshtml)中有一组复选框,它们使用“ParentObject”作为视图模型呈现

ParentObject.cs :-

新的.cshtml :-

区域的编辑器模板位于 \Views\Shared\EditorTemplates\RegionObject.cshtml 中,如下所示

RegionObject 视图模型是:

为什么“区域”上的“必需”数据注释不起作用?我想确保针对区域选择了至少 1 个复选框。我原以为“必需”可以完成这项工作,但显然不是。我需要编写一个自定义验证器来完成这项工作吗?

谢谢。

0 投票
1 回答
1551 浏览

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

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

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

这里是可能的编辑器模板

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

干杯...

0 投票
1 回答
258 浏览

c# - 为什么要使用 MVC 3 模板?

几周前,我想出了如何编写自己的 DisplayTemplates 和 EditorTemplates。我确实发现它们很有用,因为我可以这样写:@Html.DisplayForModel("my_awesome_template")它将显示“my_awesome_template”中的任何内容并在视图中使用当前模型。太棒了,对吧?

好吧,我已经以多种不同的方式编写了我的视图,现在我要回到我最初编写它们的方式:直接在视图中,没有部分或模板,并使用 ViewModels。为什么?因为我缺乏终极的灵活性并且失去了一致性。例如:如果我在我的 DisplayTemplate 中有@Model.HamSandwhichText,因为它在我的模板中,我只能在我的模板中移动它,而不是在实际的视图中。从技术上讲,我可以直接在视图中使用它,但那时我只是打破了一致性。这意味着视图和模板都可以访问相同的东西。我不喜欢这个。我假设因为我使用的是 ViewModels,所以我不必太担心模板。

但是,使用模板的真正原因是什么?我确实注意到它使显示列表更清晰、更容易;但我还是不喜欢。

0 投票
1 回答
409 浏览

asp.net-mvc - ASP.NET MVC 编辑器模板的问题

我正在尝试为 Telerik MVC 网格中的列创建编辑器模板。单击编辑后,这个简单的字符串列应该显示相同的字符串值,并且在它旁边我想显示一个带有 onclick 事件的按钮或图像。

我不能这样做!

我发现了一些非常简单的例子。让我们暂时忘记按钮或图像,根据本文中的说明显示相同的该死字符串:http: //bradwilson.typepad.com/blog/2009/10/aspnet-mvc-2-templates-part -3-default-templates.html

和:

或者:

这些都不起作用。事实上,当我踏入这个服务器端时,ViewData.TemplateInfo.FormattedModelValue 和 Model 没有值。这是怎么回事?网格中的什么阻止了这种情况?更复杂的编辑器模板(如组合框)将数据保存回编辑器模板。

我怎样才能简单地在编辑器模板中显示相同的文本,并带有一些其他选项,例如稍后我将更改数据的按钮?

史蒂夫

0 投票
5 回答
4263 浏览

asp.net-mvc - asp.net mvc 3 中 DataAnnotations 的行为是否发生了变化?

我有一个带有属性的模型

在我打电话时的视图中

我仍然得到该属性的标准可编辑文本框

为什么是这样?如果文本框仍然是可编辑的,那么这个 DataAnnotation Attibute 的意义何在?

布拉德威尔逊的帖子

0 投票
2 回答
7507 浏览

asp.net-mvc-3 - 之间的区别:[ScaffoldColumn (false)] 和 [Display (AutoGenerateField = false)]

为了在我的编辑视图中呈现 HTML,我使用了 helper @Html.EditorForModel()

我的模型:

属性:CodeGuest不应由助手创建@Html.EditorForModel()。(我想手动创建它。)

在网上阅读,我发现了几点,想知道其中的区别。

记住我不希望它被隐藏,这个字段只会由这个创建

编辑器模板(IsGuest.cshtml):

问题:

和有什么区别:[ScaffoldColumn (false)][Display (AutoGenerateField = false)]

为什么我不能制作[Display (AutoGenerateField = false)] have the effect: 'do not generate the HTML field when calling@Html.EditorForModel()`。