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

.net - 从控制器返回 EditorTemplate 作为局部视图

我想从我的控制器返回一个 EditorTemplate 作为部分视图。

我目前正在做:

问题是,在我这样做之后,Create_前缀就离开了我的视野。有没有办法将编辑器模板作为部分视图返回并保留前缀?

Index.cshtml @model IndexViewModel

我正在通过 AJAX 调用提交此表单。当我最初调用 EditorFor 时,所有字段的前缀都是Create_. 但是,在我提交表单并返回此 PartialView 后,前缀丢失了。

0 投票
1 回答
2190 浏览

asp.net-mvc-3 - MVC 3:在 EditorForModel 中使用的枚举下拉模板

我知道这个主题有几个主题。我看到了很多解决方案,但其中大多数都需要了解枚举是哪种类型。由于默认情况下 Enum 渲染使用字符串模板,因此更难找出确切的类型。

有人有关于如何解决这个问题的完整示例吗?

编辑。根据 Roys 的建议,这是我的代码。

HtmlHelpers.cs

视图模型

EditorTemplates/Enum.cshtml

而在观点...

现在的问题是表格发布后我无法填写枚举。

0 投票
1 回答
1009 浏览

asp.net-mvc-3 - 使用 EditorTemplate 更新带有孩子的实体

我有一个包含子实体 (QuoteTask) 的实体 (QuoteSheet),它是使用 EntityFramework 加载的。但是,我在提交此表单时收到错误消息。

我为 QuoteSheet 实体创建了一个编辑页面,然后它使用 EditorTemplate 来编辑 QuoteTask 子实体。

控制器代码如下:

视图的精简版本如下:

EditorTemplate 是:

当我提交表单时,我收到以下错误:

EntityCollection 已经初始化。InitializeRelatedCollection 方法只能在对象图的反序列化过程中被调用来初始化一个新的 EntityCollection。

这仅在我使用 EditorTemplate 时发生 - 如果我删除编辑器模板并仅提交主要实体,它工作正常。

我在 [httppost] TestEdit 函数中放置了一个断点,但是在它到达该点之前发生了异常。

关于如何成功使用 EditorTemplate 编辑子实体的任何想法?

0 投票
1 回答
1229 浏览

c# - 带有动态下拉菜单的 MVC 3 编辑器模板

如何让下拉菜单显示为我的编辑器模板的一部分?

所以我有一个用户实体和一个角色实体。Roles 作为 SelectList 和 User 作为 User 传递给视图。SelectList 变成了一个下拉列表,其中选择了正确的 ID 以及由于这个示例而得到的一切。

我正在尝试使用 MVC 3 为我的实体获得一个多合一的很好地捆绑的 EditorTemplate,这样我就可以调用 EditorForModel 并通过添加下拉列表来很好地布局字段,只要我有诸如角色之类的外键,在这种特殊情况下。

我的EditorTemplates\User.cshtml(根据ViewData动态生成布局):

然后在视图上单独绑定 SelectList,我想将它作为模板的一部分。

我的模型:

我的控制器:

我的观点:

希望这足够清楚,让我知道您是否可以使用更多说明。提前致谢!

0 投票
2 回答
389 浏览

.net - .NET MVC3 HtmlHelper Editor用于从不同区域访问

在 .NET MVC3 Razor webapplication 中,如何使用EditorTemplatewhich is in another Area?(使用 HtmlHelper 的 EditorFor 方法)

0 投票
1 回答
839 浏览

asp.net-mvc - ASP.NET MVC 3 中的半复杂视图模型属性验证

我正在努力为半复杂场景完成服务器-客户端验证解决方案。我有一个核心类型叫做DateRange

我有一个视图模型,例如:

我有一个 %mvcproject%\Views\Shared\EditorTemplates\DateRange.cshtml 像:

我还有一个DateRangeModelBinder将两个表单输入绑定到DateRange属性中。我遇到的问题是DateRangeRequiredAttribute

我无法让它连接到两个输入。由于拆分输入,几乎就像需要ValidatorTemplate与 EditorTemplate 配对一样。有任何想法吗?让我知道是否需要进一步澄清。

0 投票
2 回答
308 浏览

c# - 列表的编辑器模板不工作

我正在尝试为List<Package>. 我完全限定了我的 Editortemplate 视图中的类型,如下所示:

当我尝试在我的 Editortemplate 视图中引用模型时,我得到一个空引用,这让我相信模型没有正确关联。我必须UIHint在我的 ViewModel 中使用 a 才能让它完全使用 Editortemplate。我的 ViewModel 包含一个List<Package> Packages我试图让我的自定义编辑器模板拾取的内容。我究竟做错了什么?

0 投票
0 回答
1496 浏览

asp.net-mvc-3 - 接口属性的 Html.EditorFor 方法

我是初学者 ASP.NET MVC 3 Web 开发人员并且有这个问题:

有几种视图模型,它们具有相似的逻辑,我想到有一个通用的 EditorTemplate 供它们由Html.EditorFor.

该模板被命名为“ ExistOrCreateNewInput.cshtml”,并且是带有IExistOrCreateNewInput接口类的强类型:

模板的内容类似于:

假设我有某种实现此接口的模型,例如:

wherePaperCreateInputThesisCreateInputclasses 实现IUnapprovedNewEntityCreateInput接口。所以,我想要我的视图模型

Html.EditorFor(o => o.firstModel)方法正确渲染属性“firstModel”。现在我知道 EditorFor 方法正在处理元数据,所以我的问题可能应该是“如何将属性的元数据传递给基本接口属性”。如我错了请纠正我。
无论如何,我需要那些辅助方法

在我的编辑器模板(带有接口的强类型)中呈现我的模型属性,因为我在实现类中声明它们:

提前致谢。对不起,我的英语不好。

0 投票
2 回答
1325 浏览

asp.net-mvc - 在 ASP.NET MVC 中,有没有办法在使用 EditorTemplates 时获取循环索引?

在 ASP.NET MVC 中,有没有办法在使用 EditorTemplates 时获取循环索引?过去,当我需要知道模型中元素的索引时,我会放弃使用 EditorTemplates,而是在基本视图中使用 for 循环。我想知道是否有办法在仍然使用 EditorTemplates 的同时获取元素的索引。

我的 for 循环示例:

看看我是如何使用contentIndex段落 id 的?我希望能够使用 EditorTemplate 而不是 for 循环来做到这一点。这可能吗?

0 投票
2 回答
1822 浏览

asp.net-mvc-3 - 如何使 MVC3 编辑器模板匹配 jQueryUI 主题

我正在使用 MVC3,我想让我的视图与 jQueryUI 主题完全集成。这意味着对于标准@Html.EditorFor字段,我希望他们的 css 类实现我选择的 jQueryUI 主题,如果我切换主题,我的标准 MVC3 输入会相应地改变,即使没有用 jQueryUI 增强功能进行装饰?

默认情况下,当我调用 时@Html.EditorFor(x => Model.FirstName),输出如下:

这很好而且很干净,因为我包含了所有的验证属性。但是,如果我尝试调用@Html.EditorFor(x => Model.FirstName, new { @class = "ui-widget ui-state-default ui-widget-content" })以应用 jQueryUI 样式,则 CSS 类不会应用于输入字段(它们保持“文本框单行”)。

我确实发现,如果我更改@Html.EditorFor()@Html.ListBoxFor()“new { @class = "..." }" 并将其包含在我选择的 css 类中,它会使用正确的 jQueryUI 类呈现,但我真的很喜欢 EditorFor 的灵活性,可以与任何输入类型。然而,即使只使用 TextBoxFor,我也不喜欢每次都包含 jQueryUI 类。

为了克服这个问题,我尝试创建一个共享的 EditorTemplate,它派生自System.String并手动放入 css 类,这很有效,但后来我失去了验证属性的所有自动功能,它看起来很“做作”。似乎必须有一种更简单的方法来自动将自定义 CSS 全局应用于 EditorFor 助手。

所以我的问题是:

  1. 如何告诉 Edi​​torFor 使用自定义 CSS 类?
  2. 如何覆盖 EditorFor(或至少 TextBoxFor)以全局应用 CSS 类,这样我就不必不断重复它们?
  3. 作为奖励,是否有任何关于 jQueryUI 类的用途的参考资料(例如,我应该何时应用ui-state-defaultui-widget-content),以便我所有的标准 MVC3 输入看起来像用装饰的输入jQueryUI 增强功能?