问题标签 [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.
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,这是不可取的。
c# - ASP.NET MVC 2 - Html.EditorFor 可空类型?
我有两个编辑器模板:一个用于十进制,一个用于十进制?(可以为空)
但是当我的模型中有一个可以为空的小数时,它会尝试加载普通的十进制编辑器:
第一个工作正常,并加载十进制编辑器模板。第二个也尝试加载十进制模板(由于它不是十进制字段而失败)。
错误信息是:
我的模板声明如下:
十进制模板:
可空十进制模板:
我知道我可以通过传入模板名称来使其工作,例如
但我真的希望它像所有其他模板一样使用类型自动工作。
json - JSON / MVC (3P1) HttpPost - 没有让它在我的 EF 类上工作
在将旧教程与 MVC 3 Preview 1 上的最新帖子混合和匹配时,我遇到了以下问题。我正在尝试对我的Fighter
模型(和底层数据库)进行 JSON 驱动的编辑,而不是没有 JSON 的“普通旧”编辑。
我为我的班级(存在于 EF 4 模型中)设置了一个编辑视图(使用Shared EditorTemplate
, )。fighter.ascx
Fighter
在这我有2个按钮。一个“旧”的,这是一个在没有 JSON 的情况下调用我的编辑控制器的提交,一个是新的,我为此编写了一个新的HttpPost ActionResult
旧按钮有效:新按钮只实现了一半,但我已经可以看到它ActionResult UpdateJsonTrick
没有正确接收来自视图的数据。字符串内容为:“在returnMessage
系统中创建了战斗机''。” 在我对该 ActionResult 做任何有用的事情之前,我必须知道如何传递该数据。我哪里错了?
所以,edit.aspx 只是一个简单的Html.EditorForModel("Fighter")
语句,
但这里是 Fighter.ascx:
这是控制器的(相关位):
感谢您的耐心等待,如果您需要其他代码或信息,我可以提供。
asp.net-mvc-2 - 在视图模型中为子集合定义 EditorTemplate
我有一个模型,其中包含我想使用 EditorFor 的 QuestionEditModel 列表。
通常,我只会在集合上调用 EditorFor,然后 MVC 会完成剩下的工作。但是,我需要单独的 QuestionEditModel 使用不同的 EditorTemplates,具体取决于对象中字段的值。
我会认为这样做的方法是这样的
但我不知道如何告诉它查看当前选择的问题并使用问题中的 EntryType 字段来确定要使用的 EditorTemplate。
所以我尝试了这个
但这不会在页面上呈现任何内容。奇怪的是,如果我设置断点并运行代码,这确实会调用正确的 EditorTemplate,传入正确的模型数据并且没有异常,但它不会渲染任何内容。
在这种情况下,我需要做一些额外的工作来让渲染的 EditorTemplate 回到我的页面吗?
编辑:
编辑视图的完整代码。
编辑2:
根据要求完成视图、控制器和模板代码。
编辑器模板:
编辑(GET)操作:
编辑(POST)操作:
asp.net-mvc - 从编辑器模板中的自定义属性获取值
目前我有这个:
在视图模型中:
在编辑器模板中:
如何从我的自定义属性 (MyCustom) 中获取值 (Foo=23) 到编辑器模板中?
asp.net-mvc - 如何在编辑器模板中访问父对象?
在自定义编辑器模板中,我想访问父对象。
我正在使用这段代码,但这可能不是最好的方法,尤其是在使用嵌套视图时:
有人有更好的主意吗?
asp.net-mvc-2 - 向 EditorTemplate 中的下拉列表添加验证
我试图通过将 UiHint "DropDown" 指定给 ViewModel 的属性,然后仅使用 HtmlHelper EditorFor 通过通用 EditorTemplate 呈现下拉列表来找到一个下拉列表的好方法,以便它可以跨解决方案使用。我在这里找到了 Tom Schreck 的一个非常好的方法它工作正常。唯一不能让它变得完美的是下拉列表不是验证的一部分。如果我想要一个“选择”选项(在 EditorTemplate 中手动添加)作为默认值并且没有选择任何值,则会导致错误。我相信这是因为 DropDownList 不是从 DropDownListFor - Helper 创建的?我知道汤姆写道他尝试过那个,但是没有办法使用自定义值将项目添加到循环中的 SelectList 吗?我不能这样做,因为我是初学者,但我认为如果下拉菜单可以包含在验证中,那将是非常棒的。这样,您可以在控制器中填充 selectList 并保持与其他属性相同的格式。抱歉我的词汇量,正如我所说,我是初学者。但我希望你明白我的意思。
如果有人帮助我解决这个问题,我将不胜感激,因为我觉得我已经尝试了一切。
问候最大
asp.net-mvc - ASP.NET 编辑器模板下拉列表
每次我添加一个新的 App 它都会创建一个新的 AppCategory。我以某种方式认真地搞砸了
代码优先实体框架对象
编辑器模板(我只想制作一个外键 EditorTemplate)
当然还有存储库
每次我添加一个新的应用程序它都会创建一个新的 AppCategory 我以某种方式严重搞砸了
添加更多调试信息
在帖子上给我一条验证信息
验证错误值“1”无效。
这是有道理的,因为 Category 应该是一个对象而不是整数。
控制器代码 很确定这不是问题,因为它来自 MVCScaffold
asp.net-mvc-3 - 扩展 Asp.net MVC 3 编辑器模板
我有一个模型,其中包含图像 url 的属性:
如您所见,数据类型是 ImageUrl,我使用这个事实在 Views/Shared 目录中创建了一个编辑器模板。
该模板只需要通过添加一些额外的 html 元素来扩展默认模板。我不知道该怎么做。
我尝试在调用 html 助手时指定模板名称,但这似乎对我不起作用。
我正在使用的代码是(请注意,这是在自定义模板中):
如果您想知道我通过在 MVC 3 dll 上使用反射器获得了模板名称,然后在
System.Web.Mvc.Html
我查看了TemplateHelpers类的构造函数并看到了这一行:
为任何帮助干杯托尼
更新
忘了提。我这样做的原因是利用 MVC 3 的不显眼验证
asp.net-mvc - 不使用三个 DropDownLists 从编辑器 Tempale 部分页面视图更新值
我在 PartialPageView 中有一个 DateTime 的 EditorTemplate,它有三个 DropDownLists 用于日、月和年。当我尝试更新值时,回发日期始终为 01/01/0001。有任何想法吗?