问题标签 [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 投票
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 回答
3369 浏览

asp.net-mvc-3 - Telerik MVC网格编辑弹出窗口中的嵌套EditorTemplates未显示在自定义编辑模板中

我有一个使用 AJAX DATABINDING 的网格。当我发出带有 TEMPLATENAME SPECIFIED 的 POPUP EDITING 命令时,我的嵌套编辑器模板没有填充。

我的模特

我的观点

我的控制器

我的 EditorTemplates Shared/EditorTemplates/TemplateTesterModel.cshtml

Shared/EditorTemplates/UserRole.cshtml

这表现为:

在此处输入图像描述

如您所见,网格过滤器之前的@Html.EditFor 语句按预期一直到用户角色EditorTemplate。此外,我们可以看到角色数据在网格中,因为它显示在角色列中。

但是单击编辑窗口,结果如下:

在此处输入图像描述

如您所见,UserRoles 模板没有填充我们正在编辑的 TemplateTesterModel 的 UserRoles 属性上的角色。

我错过了什么吗?为什么 .UserRoles 属性没有填充到 Telerik 网格弹出窗口中?

0 投票
1 回答
1000 浏览

asp.net-mvc-3 - Asp.net MVC 不显示模板编辑

我有课程:

文件夹 Shared > EditorTemplates

PersonDetailsModel.cshtml

在我看来:

只显示UrlKeywordReCapcha字段!

为什么 Asp.net MVC 不使用共享文件夹中的模板来显示我的嵌套类型PersonDetailsModel

0 投票
3 回答
24216 浏览

asp.net-mvc - DisplayFormat 未应用于十进制值

我有一个模型属性,我正在尝试使用 EditorFor 模板呈现,并且我正在尝试使用 DisplayFormat 属性应用格式设置。然而,它根本不起作用——它完全被忽略了。

这是我的模板:

这是我的模型:

这是我的看法:

但它正在渲染一个具有以下值的文本框:

189.9900

这看起来很简单,但它不起作用,我不知道为什么。

更新: 只是为了好玩,我用 DisplayFor 模板尝试了它,它起作用了:

那么,当我设置ApplyFormatInEditMode为 true 时,为什么 DisplayFor 模板可以工作,而不是 EditorFor 模板?

更新 2: 没关系,有效的原因是因为我的十进制显示模板被硬编码为这种格式。所以我的显示模板也不起作用。

0 投票
2 回答
69 浏览

c# - 如何使用初始模型创建编辑器控件?

我想创建一个编辑器来选择一些国家。意思是,我必须选择一个国家,使用 AJAX 加载国家的号码,然后选择一个号码。

编辑器初始模型是县列表。我想使用编辑器模板,而不是每次使用时都将县模型列表提供给模板。

这是我目前拥有的:

我该怎么做?

0 投票
2 回答
668 浏览

asp.net-mvc - 为什么即使属性为空,我的 EditorTemplate 也会执行?

我有一个这样的模型:

然后在视图中ParentViewModel,我这样做:

它执行我的自定义编辑器模板,即使Model.ChildViewModelnull. 为什么?我认为 MVC 足够聪明,只在视图/模板有值时才渲染它。(例如,默认模板null是不渲染任何东西)。

因为目前,我必须将 HTML 包装在我的自定义编辑器模板中:

@if (Model != null)

这似乎很愚蠢。

这是一个已知问题吗?

我在 ASP.NET MVC 3,Razor 上。

0 投票
1 回答
671 浏览

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

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

0 投票
2 回答
5549 浏览

asp.net-mvc-3 - 对于同一模型,我可以从“区域”编辑器模板中调用“共享”编辑器模板吗?

我有一个编辑器模板位置:

区域/帖子/视图/共享/EditorTemplates/Question.cshtml

我也有一个:

/Views/Shared/EditorTemplates/Question.cshtml

对于两者,模型是相同的。

我要做的是在该区域的视图中,在该Posts区域调用我的编辑器模板,设置一些 HTML,然后返回到主共享编辑器模板。

这是Posts编辑器模板:

但它所做的只是渲染隐藏字段,而不是共享编辑器模板的内容。

如果我摆脱了Posts编辑器模板,则共享的模板会正确呈现。

我猜 MVC/Razor 认为这是递归的还是什么?就像我调用同一个模板一样?

有什么办法可以告诉它去共享的吗?

本质上,我试图在共享模板中重用 HTML,但注入一些我自己的偷偷摸摸的 HTML。

0 投票
1 回答
864 浏览

asp.net-mvc - 在操作中将内置 EditorTemplate 作为 PartialView 返回

有没有办法将内置编辑器模板(而不是自定义编辑器模板)作为操作中的 PartialView 返回?

我想做这样的事情:

提前致谢

0 投票
2 回答
1765 浏览

.net - ASP.net MVC - 两次使用具有相同模型类型的 EditorFor

我在 MVC 中有以下模型:

在我的索引视图中,我正在执行以下操作以显示编辑器SubViewModel

索引.cshtml

在我的SubViewModel.cshtml文件中,我尝试执行以下操作:

EditorTemplates/SubViewModel.cshtml

基本上,我想将我的编辑器分成两部分。第一个编辑器模板将创建表单,而内部模板将创建所有实际的表单字段。问题是内部视图永远不会被渲染。

就像 MVC 意识到我已经在该模型上调用了 EditorFor 并且阻止我再次这样做。有没有办法让这个工作?

编辑

我以为我清楚地输入了正在发生的事情,但我想不是。

我想使用两个模板来显示一个模型。在第一个模板中,我想呈现表单和提交按钮,以及一些容器 div。

在第二个模板中,我想呈现所有表单字段。

Index.cshtml @Html.EditorFor(m => m.SubViewModel) --> 渲染表单和容器

SubViewModel.cshtml @Html.EditorForModel("SubViewModelForm") --> 渲染表单域

问题是第二次调用 (@Html.EditorForModel("SubViewModelForm")) 似乎没有做任何事情。它根本不会渲染任何标签。它被 MVC 忽略了。

我想这样做的原因是因为我将使用 ajax 调用发布此表单。如果一切正常(模型状态有效),那么我想将 JSON 数据返回到视图。如果模型无效,我想只返回带有表单字段的部分视图。这样我就不需要再次连接我所有的事件处理程序。我可以只替换表单字段而不是整个视图。