- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个带有enum
public enum Gender
{
Male,
Female,
Unspecified
}
public class FooClass
{
public Gender UserGender {set; get;}
}
因为这个 Gender
可能会在其他类中使用,所以我想为它创建一个 EditorTemplate 并在创建/编辑 View 中请求一个编辑器:
@Html.EditorFor(model => model.UserGender)
之后,我在 Views/Shared/EditorTemplates/Gender.cshtml
中创建了一个局部 View 。在模板中,我添加了一些仅用于测试的内容,例如:
@model TestProject.Models.Entity.Gender
@Html.TextBox("")
或
@model TestProject.Models.Entity.Gender
Hello...
但我得到的只是一个异常(exception):
The model item passed into the dictionary is null, but this dictionary requires a non-null model item of type 'TestProject.Models.Entity.Gender'.
这是编辑器模板的工作方式还是我完全偏离了轨道?
编辑:
如果我删除模板文件 (Gender.cshtml
),我将获得一个文本字段作为编辑器,并且不会抛出任何异常。
此外,这是针对 Create
View 的,在 Controller 中我没有向它传递任何对象。我只是调用 return View();
最佳答案
你可以试试这样的东西
@model Nullable<TestProject.Models.Entity.Gender>
@Html.ListBox("lb", Enum.GetValues(typeof(TestProject.Models.Entity.Gender)).Cast<TestProject.Models.Entity.Gender>().Select(i => new SelectListItem() { Text = i.ToString(), Value = i.ToString(), Selected=i==Model }))
关于c# - 如何为枚举创建 EditorTemplate?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20445546/
我有一个 View ,用户可以通过选择复选框来选择任意数量的俱乐部。俱乐部是主模型的属性,类型为 List 。在重构时,我从以下开始: @using (Html.BeginForm()) {
我需要能够动态地向我正在处理的 MVC 5 应用程序中的 Tabel 添加/删除行。我还在我的项目中包含了 knockout,因为我用它来回发到我的 viewModel 上的预成型计算。 到目前为止我
我有一个带有enum的模型 public enum Gender { Male, Female, Unspecified } public class FooClass {
如何将一些额外的属性传递给 EditorTemplate? 我想像这样使用它(一种伪代码): @Html.EditorFor(m => m.ReturnFlight, new { additional
当字段具有特定名称 (PublishingMethod) 时,我需要一个枚举器字段的 EditorTemplate 替代品。 基于docs ,我在与原始形状相同的文件夹中创建了一个具有模式 [Shap
以下 EditorTemplate 无法按我希望的方式工作; " %> model.Selected, new { onclick = "SaveSelectio
我想为 jquery 星级评分插件创建一个编辑器模板。这是我的第一个 mvc3 项目,也是 jquery 的新手,我不知道如何设置。我想做的是允许用户对老师进行星级评价。例如,如果我单击 3 颗星,我
有没有办法在使用 EditorTemplates (With Lists) 计算出当前列表索引值时?例如在这个编辑器模板中 @model myModel @Html.TextBoxFor(x
在我当前的项目中,我有几个包含 subview 模型集合的 View 模型实例,如下所示: public class ParentViewModel { public ParentViewMo
我以表格格式显示数据。使用 EditorFor 和 EditorTemplates 时会自动生成表格。 在表格的每一行中,我都显示了 ID、姓名、国家/地区下拉列表、用于选择爱好的复选框和用于选择性别
根据我的阅读,EditorTemplates 文件夹必须位于 Views 文件夹中的 Shared 文件夹下。是否可以更改此位置? 谢谢。 最佳答案 我总是将我的 EditorTemplates 放在
假设我有一个 LineItem(来自过度使用的购物车示例),并且我想使用 EditorTemplate 来呈现它。 我完全可以从父 View (部分或其他)使用 @Html.EditorFor(m =
在 ASP.NET-MVC2 项目中,我构建了一些位于 Views\Shared\EditorTemplates 和 DisplayTemplates 文件夹中的用户控件。 我正在尝试将此模板拉入类库
我不想将字典绑定(bind)到 View 。但模型似乎是空的。棘手的部分是我在另一个 View 中使用一个 View ,我无法弄清楚我的错误在哪里。 到目前为止,这是我的代码: 第一个模型: publ
我根据其他一些 SO 问题和 Google 结果编写了以下 EditorTemplate: @model Nullable @{ var metadata = ModelMetadata.Fr
我为 currency 浮点格式创建了一个编辑器模板。 @using System.Globalization @{ var ri = new RegionInfo(System.Thread
我有一个 ASP.NET MVC 4 站点,我将嵌套属性传递给 EditorTemplate 并使用 ViewData.ModelMetadata.PropertyName 构建字段名称,但是,这会获
是否可以将 ASP.NET Core Web 应用程序配置为使用编译为类库/单独程序集的 EditorTemplate razor 页面? 作为示例,以下问题详细说明了如何将 ViewComponen
我正在使用 Bootstrap 模板,其复选框模板如下所示: Checkbox 1 我需要一个用于 bool 值的 MVC EditorTem
我创建了这个编辑器模板: @model DateTime? @using MyMvcApp.Properties // @* Date - should
我是一名优秀的程序员,十分优秀!