问题标签 [editorfor]

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 回答
929 浏览

asp.net-mvc - 为什么我的 ASP.NET MVC 2 应用程序中的 EditorFor 会抛出 ArgumentNullException?

在我的一个观点中,我对 EditorFor 有一个奇怪的问题。以下代码引发 ArgumentNullException。

但是,下面的代码很好。

Model.Name 是一个字符串变量 - 并且已设置。

EditorFor 在另一个视图中工作 - 直到此视图崩溃,此时我必须重新启动开发 Web 服务器 (Cassini) 或所有 EditorFor 调用崩溃并显示相同的消息。

我用 MVC 2 源代码运行了一个测试,希望我能得到一些见解,但效果很好!据推测,MVC 2 RTM 源代码应该是 VS2010 中的源代码(日期似乎相关)。

我刚刚切换到 TextBoxFor,因为这很好 - 但我想知道问题是什么。我在 .NET 4、VS2010 和 Win7 x64 下运行。

[更新:DisplayFor出现同样的问题。]

部分堆栈跟踪是:

0 投票
2 回答
1814 浏览

asp.net-mvc - 覆盖 ASP.NET MVC 3 RC 中的默认 EditorFor 模板选择

我正在创建一个当前使用 EditorFor 生成大量视图的 MVC 应用程序。整个视图基本上只是一个 EditorForModel,而且效果很好。但是,我遇到了一个小问题,我似乎无法找到解决方案,重要的是它按我需要的方式工作,那就是在尝试渲染 EditorFor 界面时。绑定和类似的一切都已处理,但问题是 EditorFor 认为它是一个接口,并默认为“对象”模板。我需要它来查看接口,看看它是否可以找到具有该名称的模板,如果不能,我需要它查看所有存在的接口,看看它是否与其中任何一个匹配。为了更简单地解释它,请看这个例子:

接口:

如果我现在使用 model = "IAppMusicProvider" 创建一个视图并运行Html.EditorForModel(),我需要它来找到 "~Views\Shared\EditorTemplates\IAppProvider.cshtml" 模板。有什么简单的方法可以实现吗?

0 投票
1 回答
2074 浏览

asp.net-mvc - Html.EditorFor() 的等效代码

任何人都知道如何从控制器调用与 Html.EditorFor() 等效的功能吗?

我的视图中有一个标准表。这些行使用 EditorTemplate

编辑器模板是一个强类型的局部视图,它返回<tr>和子元素。

所有这些工作正常,但下一步是添加一个“添加行”按钮。由于一系列超出范围的原因,我想访问服务器而不是纯粹的客户端解决方案。我想要做的是将 EditorTemplate 作为部分视图返回,并让 JavaScript 获取返回的 Html 并将其附加到表中。

除了输入命名之外,所有这些都可以正常工作。缺少的部分是集合前缀内容,它告诉模型绑定器如何在回发时重新组装模型。在视图方面,您可以指定这应该是什么(这是上面调用的"Rows["+j+"]"一部分EditorFor())。

你能像 EditorFor() 一样给局部视图一个 html 字段名称前缀吗?关于如何使这项工作的任何想法?我的整个方法可能完全错误,这很好。告诉我为什么。:)

谢谢你的帮助。

0 投票
1 回答
302 浏览

asp.net-mvc-2 - Asp MVC 2:类型化编辑器模板

(我在本文中参考了本教程)

我想使用 Html.EditorFor(或 Html.Editor)助手。

如果 UserControl 需要其他数据,则通过

...EditorFor(model => model.Album, new { Artists = Model.Artists, ... })

在 UserControl 中,它是通过ViewData[ stringKey ]访问的,即

... new SelectList(ViewData["Artists"] as IEnumerable, ...

对我来说,这有点可疑,因为我更喜欢强类型的 ViewModel来确保特定数据可用。

我现在有点卡住了,因为我不知道有一种“打字方式”可以找到,或者我应该按原样接受这种方式。

你是如何解决这个问题的?任何帮助表示赞赏!


华拉巴

0 投票
1 回答
898 浏览

asp.net-mvc - asp.net mvc中模型的可重用ajax编辑器不使用ajax

好的,所以我是 mvc 的新手。我做的是一个-创建用户表单-。UserViewModel 有一个 branchcode 类型的属性long。我想要一个小的分支选择器,而不是代码的纯文本框,我有一个文本框和一个检查名称链接,单击时会返回带有一些 ajax 的分支名称。

所以我做了一个分支选择器并将它放在 Shared/EditorTemplates 下。看起来像这样

我在 viewmodel 中有 UIHint 设置,所以当我说 EditFor(model.BranchName) 时,它完美地显示如下: 替代文字

我的问题:

1.没有ajax!当我单击它时,会出现 url:http://localhost:1159/Admin/Home/BranchDetail?brcd=0然后 URL 会抛出错误,因为任何地方都没有 BranchDetailsView。

这是控制器的样子:

2.另一个问题是,我如何让 AjaxLink 返回什么代码什么类型。如果您注意到屏幕截图,则链接的 url 具有brcd=0. 我想将分支代码发送给控制器!我尝试BeginRouteForm使用编辑器中的输入按钮,但最终提交了整个创建页面表单?那是正确的方法吗?

注意:我也在使用 T4MVC,最初我忘记了,但我确实在创建页面中microsoft.ajax.js引用了两者。microsoft.mvc.ajax.js


更新:我设法让它与 JQuery 一起工作,它看起来非常漂亮和简单。Ajax.BeginForm但是,我真的很想知道自从我学习 MVC 以来,这种事情通常会如何完成。

0 投票
2 回答
6540 浏览

c# - 强制EditorFor在视图上使用类名作为输入项的前缀?

我有一个编辑器:

这将很好地绑定到视图(如预期的那样),但在发布模型时不会绑定绑定。这是因为表单 ID 没有以“客户”为前缀。

通常在这种情况下,我只是传入模型,然后将输入绑定到模板中的 model.Client.PropertyName 但在这种情况下这不是一个选项,因为模板用于两个不同的视图模型(具有客户端)。

关于让它正确绑定的任何建议?

非常感谢,科汉。


附录

这似乎是我的一个误解,我现在理解的问题是 fluentHtml 在 EditorFor 模板中不起作用。(此修复也是如此,事实证明不需要,因为如果我用普通的 mvc html 帮助器替换 fluentHtml,EditorFor 会自动为我添加前缀)

0 投票
1 回答
345 浏览

c# - 有人使用 FluentHtml 成功使用 EditorFor 模板吗?

我知道这是一个长镜头,但我想知道是否有人在 editorFor 模板中使用FluentHtml取得了任何成功。

具体来说,让前缀工作,以便视图模型在提交时绑定回来。

上面的例子会在所有表单 html 输入(名称和 ID)前加上 Client,这样它就会正确绑定回来。但是当使用 fluent 时,情况并非如此。

一些 Fluent Html 的示例。

目前,我正在考虑使用前缀手动设置 Id ......但这并不理想。

我也可以删除流利的 Html,但我也失去了设置“禁用”的能力。

0 投票
1 回答
365 浏览

javascript - 不同上下文中模型的 JavaScript 和 EditorFor

你如何使 javascript 代码/特别是 jQuery/ 与通过EditorFor和相应的编辑器模板生成的 HTML 代码一起工作?

问题是,我们可能有一个名为PostCode(或者Zip,并不重要)的模型,它会PostCode.ascxEditorTemplates文件夹中有一个,然后EditorFor在“父”模型的各种父视图中渲染这个部分通道(它们可能是Address,Company等)。 )..

当我们渲染它时,EditorFor我们确保它会渲染必要的前缀,Address.PostCode.postname这样绑定将继续工作(当发布回控制器操作时,它将拾取它并设置正确的导航属性/引用)。

问题是,ID 和 name 属性会根据我们渲染它的位置而变化。在这种情况下,我需要以某种方式呈现调整后的 JS。

唯一的其他选项是使用RenderPartial我之前使用的选项,它不会更改标签的 ID 或名称,但由于它不会在 HTML 中呈现前缀并且因此绑定失败,因此无法正常工作。

希望你明白我的意思,并且有人已经弄清楚了

0 投票
1 回答
966 浏览

c# - 如何使 Html.EditorFor 与复合对象一起使用

我面临着风格上的困难,我目前正在使用 asp mvc 框架构建一个站点。我非常喜欢模板中的 html.EditorFor 选项,它为我生成了一个非常好的表单。因为我真的很讨厌自己编写所有输入字段。但是,我不能很好地处理复合类。如果我有这样的课程:

我希望 EditorFor 函数生成一个很好的注册表单,询问姓名和地址数据,但是我似乎需要为每个班级制作一个编辑器模板。如果我决定改变班级,这很讨厌。

我在问你。有没有很好的方法来完成这项工作?我需要什么设置才能让 EditorFor 生成正确的表单,而无需自己为每个表单制作模板?

再说一次,我不太介意我需要创建这些表单,我宁愿让系统为我做那种事情,这样我就可以轻松地操作类

0 投票
12 回答
64613 浏览

c# - MVC 和 EditorFor 宽度

我可以在我的视图上设置 EditorFor 控件的宽度吗?

我设置了几个参数:

但是,我似乎无法设置呈现的文本框的宽度。

这可以以某种方式完成吗?

我试过:

但没有快乐...