问题标签 [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.
asp.net-mvc-3 - MVC3 EditorFor 动态属性(或需要解决方法)
我正在建立一个提出问题并接收答案的系统。每个问题都可以有自己类型的答案。让我们暂时限制String
它DateTime
。在域中,问题以下列方式表示:
, 在AnswerType
哪里
请注意,实际上我有更多的答案类型。
我想出了一个创建 MVC 模型的想法,从 Question 派生并为其添加 Answer 属性。所以它必须是这样的:
从这里开始问题。我想有一个通用的视图来绘制任何问题,所以它需要是这样的:
因为String
我想在这里有简单的输入,因为DateTime
我要定义我自己的视图。我可以从控制器传递具体模型。但问题是,在渲染阶段,自然无法确定 Answer 的类型,特别是如果它最初是null
(默认为String
),因此不为 中的所有属性EditorFor
绘制任何内容String
和输入DateTime
。
我确实理解问题的本质,但有什么优雅的解决方法吗?或者我必须实现自己的逻辑来根据控件类型(大丑switch
)选择编辑器视图名称?
asp.net-mvc-3 - ASP .NET MVC 3:如何在 EditorTemplate 中使用通用视图模型
我有一个模型。
我有视图。
我想在 EditorTemplates 中写 Submodel.cshtml,但我不能写:
除了为每种类型创建 3 个视图之外,我应该怎么做?
asp.net-mvc-3 - MS MVC3 嵌套 EditorFor 和具有相同 ViewModel 的视图模板
我有一个模型层次结构,我需要为其渲染编辑器。
我想要一个漂亮的 ViewModel,它包含层次结构的每个部分所需的所有信息,以呈现自身,并让 ViewModel 沿着模板链传递。
我已经对该 ViewModel 进行了强类型视图,并且可以很好地进行第一级嵌套:
MyView.cshtml:
在 EditorTemplates/ViewTemplateA.cshtml 中:
---工作正常到这里, ViewTemplateA 被渲染-
EditorTemplates/ViewTemplateB.cshtml:
-- ViewTemplateB 永远不会被调用。如果我将其更改@model
为其他内容,并传入一个不同的对象进行匹配,例如x => x.SubModel
,它会被调用。
有任何想法吗??
asp.net-mvc-3 - 关于 Html.Editor 助手(MVC3)的简单 Razor 问题
基本上,我有一个包含多个编辑器的表格,如下所示:
<table>
<tr>
<td>@Html.EditorFor(x => x.Random1)</td>
<td>@Html.EditorFor(x => x.Random2)</td>
</tr>
<tr>
<td colspan="2">@Html.EditorFor(x=> x.Random3)</td>
</tr>
</table>
现在,我的问题是,正如您可能已经从 colspan="2" 中发现的那样,我希望我的第三个文本框一直延伸到两列。在普通的 HTML 中自然会添加一个宽度属性。有没有像DataType.MultilineText
这样的 DataAnnotation 可以改变编辑器的宽度?还有其他想法吗?
更新:如果我将其更改为 TextBoxFor 而不是 EditorFor,我实际上可以添加@Html.TextBoxFor(x => x.Random, new { style = "width: 500px;" })
.
唯一的问题是,我有另一个文本框(让我们说 random4),它以某种方式覆盖了我的 DataAnnotation MultilineText 并使其成为一个普通的 500px 文本框。猜想我必须深入研究 CSS :(
asp.net-mvc-3 - 使用 EditorFor 时如何设置名称属性?
我正在为我的模型的子集合('Vehicles')编写部分视图,该视图呈现表格行中的每个元素。因此,我的模型是
为了使模型绑定起作用,我需要每个元素的名称都在表单中
如果我使用 EditorFor,那么名称会以形式生成
如果我使用名称值设置 HtmlAttributes 它似乎被忽略了,要解决这个问题,我必须做
问题是,我丢失了所有格式,因为 TextBox 不符合我模型上的 DisplayFormat 属性,这意味着我必须为简单的布尔属性手动构建 SelectLists,而 EditorFor 使用的默认模板为我完成了它。实现这一目标的最佳方法是什么?
c# - 在构建 MVC3 EditorFor 模板时,有没有办法访问 DataAnnotations?
假设我有一个视图模型,其属性看起来像这样:
我想构建一个如下所示的 EditorFor 模板:
显然,以上将失败(Model.Required
和Model.DisplayName
),但我只是用它作为我正在尝试做的一个例子。
这可能吗?
提前致谢。
asp.net-mvc - 如何为我的模型创建 Html.EditorFor 以节省时间?
我目前只有专辑类的创建视图:
有人告诉我,使用 EditorFor 创建和编辑是惯例,以便将来节省时间。
所以我的观点最终会是这样的:
这个对吗?我如何以及在哪里声明并在我的解决方案中写下来?
编辑:
我的主帐户/注册视图中有这个:
在我的 EditorTemplate 中:
然而,它根本不会呈现那个虚拟文本。它呈现模型的默认控件。
asp.net-mvc-3 - MVC3 Html.EditorFor 在我的视图中没有呈现任何东西
以下是这些课程:
以下是我在视图中调用 RegisterViewModel 的方式:
这个错误是因为我的 ViewModel 本身没有任何注释而引起的吗?我在哪里可以正式读到这个?我设法在网上找到的只是偶尔的一两个博客,但他们在网上提到了简单的模型,而不是与诸如此类的其他对象有关系的模型。典型的外键国与人关系。
有任何想法吗?
jquery - MVC3 DataType.Date EditorFor 在 HTML 中输出错误的类
我有一个 MVC3 项目。我有 2 个模型类。让我们称它们为 FooYes 和 FooNo。
我为每个创建了控制器。
我为两者创建了 CRUD 视图。
然后我根据这个链接实现了 jQuery DatePicker 。我只实现了选择器部分而不是验证。
在我的 FooYes edit.cshtml 中,日期选择器工作正常。在 FooNo 的 edit.cshtml 中没有。
我发现的唯一区别是为模型获取输出的类:
FooYes 在最终的 html 中看起来像这样:
FooNo 看起来像这样:
这是 FooYes 的模型:
这是 FooNo 的模型:
如您所见,模型中的声明是相同的,所以不可能。我什至尝试将 FooNo 中的 ExpirationDate 属性复制并粘贴到 FooYes 中,并将 FooNo 中的所有内容复制到 FooYes 中的 FooYes 中,然后它就可以工作了。所以不是模型中的代码
以下是 .cshtml 中的代码:
这个和另一个之间的唯一不同是字段的名称。
当我在最终结果中查看源 html 时,标头、包含、链接,一切都完全相同,除了在不起作用的那个中 class= 设置为文本内容而不是日期。
我完全糊涂了。任何人有任何想法会导致这种情况吗?
asp.net-mvc-3 - 在 mvc3 中使 Html.Editorfor 字段只读
我正在使用这个,一个编辑器模板(位于我的解决方案的 Shared\EditorTemplates 文件夹中)
这在我看来
如何使该字段在视图中只读