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

c# - 使用 EditorFor 传递额外的视图模型数据在一对多关系中失败

我有一个继承的编辑器模板 (Views/Shared/EditorTemplates/HORDER.ascx)

我的视图模型具有一对多的关系,我使用 Html.EditorFor 来渲染多个 HORDERS

最终我想要做的是为下拉列表传递数据,但是,目前,我只是想传递一个字符串“hello”

如果我在 HORDER.ascx 中嵌入以下内容

我得到“0”输出。获取视图数据的任何尝试都会失败。

但是,如果我将 EditorFor 与单个项目一起使用,它会按预期工作:我将 FirstHorder 添加到我的视图模型中,设置为 model.PEOPLE.HORDERS.First() 然后 <%: Html.EditorFor(model => model.FirstOrder, new { fred="hello"})%> 按预期传递 hello。

那么......有没有办法让 EditorFor 在以一对多关系调用它时处理其他数据?

编辑:在其他地方建议我在 ForEach 循环中使用 EditorFor 来对抗单个 HORDERS。这有效(即正确传递了额外的视图数据),但我最终得到 EditorFor 呈现的每个控件具有相同的 id 和名称,而不是 PEOPLE.HORDERS[n].field,这是不可取的。

0 投票
5 回答
10555 浏览

c# - ASP.NET MVC 2 - Html.EditorFor 可空类型?

我有两个编辑器模板:一个用于十进制,一个用于十进制?(可以为空)

但是当我的模型中有一个可以为空的小数时,它会尝试加载普通的十进制编辑器:

第一个工作正常,并加载十进制编辑器模板。第二个也尝试加载十进制模板(由于它不是十进制字段而失败)。

错误信息是:

我的模板声明如下:

十进制模板:

可空十进制模板:

我知道我可以通过传入模板名称来使其工作,例如

但我真的希望它像所有其他模板一样使用类型自动工作。

0 投票
1 回答
1284 浏览

json - JSON / MVC (3P1) HttpPost - 没有让它在我的 EF 类上工作

在将旧教程与 MVC 3 Preview 1 上的最新帖子混合和匹配时,我遇到了以下问题。我正在尝试对我的Fighter模型(和底层数据库)进行 JSON 驱动的编辑,而不是没有 JSON 的“普通旧”编辑。

我为我的班级(存在于 EF 4 模型中)设置了一个编辑视图(使用Shared EditorTemplate, )。fighter.ascxFighter

在这我有2个按钮。一个“旧”的,这是一个在没有 JSON 的情况下调用我的编辑控制器的提交,一个是新的,我为此编写了一个新的HttpPost ActionResult

旧按钮有效:新按钮只实现了一半,但我已经可以看到它ActionResult UpdateJsonTrick没有正确接收来自视图的数据。字符串内容为:“在returnMessage系统中创建了战斗机''。” 在我对该 ActionResult 做任何有用的事情之前,我必须知道如何传递该数据。我哪里错了?

所以,edit.aspx 只是一个简单的Html.EditorForModel("Fighter")语句, 但这里是 Fighter.ascx

这是控制器的(相关位):

感谢您的耐心等待,如果您需要其他代码或信息,我可以提供。

0 投票
1 回答
1063 浏览

asp.net-mvc-2 - 在视图模型中为子集合定义 EditorTemplate

我有一个模型,其中包含我想使用 EditorFor 的 QuestionEditModel 列表。

通常,我只会在集合上调用 EditorFor,然后 MVC 会完成剩下的工作。但是,我需要单独的 QuestionEditModel 使用不同的 EditorTemplates,具体取决于对象中字段的值。

我会认为这样做的方法是这样的

但我不知道如何告诉它查看当前选择的问题并使用问题中的 EntryType 字段来确定要使用的 EditorTemplate。

所以我尝试了这个

但这不会在页面上呈现任何内容。奇怪的是,如果我设置断点并运行代码,这确实会调用正确的 EditorTemplate,传入正确的模型数据并且没有异常,但它不会渲染任何内容。

在这种情况下,我需要做一些额外的工作来让渲染的 EditorTemplate 回到我的页面吗?

编辑:

编辑视图的完整代码。

编辑2:

根据要求完成视图、控制器和模板代码。

编辑器模板:

编辑(GET)操作:

编辑(POST)操作:

0 投票
1 回答
3354 浏览

asp.net-mvc - 从编辑器模板中的自定义属性获取值

目前我有这个:

在视图模型中:

在编辑器模板中:

如何从我的自定义属性 (MyCustom) 中获取值 (Foo=23) 到编辑器模板中?

0 投票
1 回答
1512 浏览

asp.net-mvc - 如何在编辑器模板中访问父对象?

在自定义编辑器模板中,我想访问父对象。

我正在使用这段代码,但这可能不是最好的方法,尤其是在使用嵌套视图时:

有人有更好的主意吗?

0 投票
0 回答
450 浏览

asp.net-mvc-2 - 向 EditorTemplate 中的下拉列表添加验证

我试图通过将 UiHint "DropDown" 指定给 ViewModel 的属性,然后仅使用 HtmlHelper EditorFor 通过通用 EditorTemplate 呈现下拉列表来找到一个下拉列表的好方法,以便它可以跨解决方案使用。我在这里找到了 Tom Schreck 的一个非常好的方法它工作正常。唯一不能让它变得完美的是下拉列表不是验证的一部分。如果我想要一个“选择”选项(在 EditorTemplate 中手动添加)作为默认值并且没有选择任何值,则会导致错误。我相信这是因为 DropDownList 不是从 DropDownListFor - Helper 创建的?我知道汤姆写道他尝试过那个,但是没有办法使用自定义值将项目添加到循环中的 SelectList 吗?我不能这样做,因为我是初学者,但我认为如果下拉菜单可以包含在验证中,那将是非常棒的。这样,您可以在控制器中填充 selectList 并保持与其他属性相同的格式。抱歉我的词汇量,正如我所说,我是初学者。但我希望你明白我的意思。

如果有人帮助我解决这个问题,我将不胜感激,因为我觉得我已经尝试了一切。

问候最大

0 投票
3 回答
1091 浏览

asp.net-mvc - ASP.NET 编辑器模板下拉列表

每次我添加一个新的 App 它都会创建一个新的 AppCategory。我以某种方式认真地搞砸了

代码优先实体框架对象

编辑器模板(我只想制作一个外键 EditorTemplate)

当然还有存储库

每次我添加一个新的应用程序它都会创建一个新的 AppCategory 我以某种方式严重搞砸了


添加更多调试信息

在帖子上给我一条验证信息

验证错误值“1”无效。
这是有道理的,因为 Category 应该是一个对象而不是整数。


控制器代码 很确定这不是问题,因为它来自 MVCScaffold

0 投票
1 回答
1947 浏览

asp.net-mvc-3 - 扩展 Asp.net MVC 3 编辑器模板

我有一个模型,其中包含图像 url 的属性:

如您所见,数据类型是 ImageUrl,我使用这个事实在 Views/Shared 目录中创建了一个编辑器模板。

该模板只需要通过添加一些额外的 html 元素来扩展默认模板。我不知道该怎么做。

我尝试在调用 html 助手时指定模板名称,但这似乎对我不起作用。

我正在使用的代码是(请注意,这是自定义模板中):

如果您想知道我通过在 MVC 3 dll 上使用反射器获得了模板名称,然后在

System.Web.Mvc.Html

我查看了TemplateHelpers类的构造函数并看到了这一行:

为任何帮助干杯托尼

更新

忘了提。我这样做的原因是利用 MVC 3 的不显眼验证

0 投票
1 回答
167 浏览

asp.net-mvc - 不使用三个 DropDownLists 从编辑器 Tempale 部分页面视图更新值

我在 PartialPageView 中有一个 DateTime 的 EditorTemplate,它有三个 DropDownLists 用于日、月和年。当我尝试更新值时,回发日期始终为 01/01/0001。有任何想法吗?