asp.net-mvc-3 – 如何在MVC3自定义编辑器模板中获取属性名称
发布时间:2020-05-23 11:15:36 所属栏目:asp.Net 来源:互联网
导读:我在我的项目中有一个枚举,我为这个枚举创建了一个自定义编辑器模板。所以,现在我有一个类型的这个枚举的属性,将渲染一个下拉列表。 这很好,但我想用属性的名称命名我的下拉菜单中的select元素。这是我的编辑器模板的Razor代码。 @model ItemEnumerations
|
我在我的项目中有一个枚举,我为这个枚举创建了一个自定义编辑器模板。所以,现在我有一个类型的这个枚举的属性,将渲染一个下拉列表。 这很好,但我想用属性的名称命名我的下拉菜单中的select元素。这是我的编辑器模板的Razor代码。 @model ItemEnumerations.ItemType
<select id="PropertyNameHere" name="PropertyNameHere">
@foreach (ItemEnumerations.ItemType in Enum.GetValues(typeof(ItemEnumerations.ItemType))) {
<option value="@value" @(Model == @value ? "selected="selected"" : "")>@value.ToString()</option>
}
</select>
所以,我选择元素id和name属性的“PropertyNameHere”,我想拥有我的模型的属性的名称。这里是一个例子: 我的型号: public class MyModel{
public int ItemID {get;set;}
public string ItemName {get;set;}
public ItemEnumerations.ItemType MyItemType {get;set;}
}
我的查看代码: @model MyModel @Html.LabelFor(m => model.ItemID) @Html.DisplayForm(m => model.ItemID) @Html.LabelFor(m => model.ItemName) @Html.EditorFor(m => model.ItemName) @Html.LabelFor(m => model.MyItemType ) @Html.EditorFor(m => model.MyItemType ) 我想要我的select元素的名称和id为’MyItemType’。 解决方法我在这里的一本书中找到了答案。其实这让我很近,但是我可以根据我发现的方式google其余的。这是我需要添加到我的编辑器模板。 @{var fieldName = ViewData.TemplateInfo.HtmlFieldPrefix;}
<select id="@fieldName" name="@fieldName"> (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- nuget-package – 如何创建和使用ASP.NET vNext类库NuGet包
- asp.net-mvc – 不显着的验证不工作在动态添加的局部视图
- ASP.net webforms中的异步页面处理示例(.NET 2.0)
- asp.net – Internet Explorer中的图像加载超时
- ASP.Net在页面中的页面/控件上调用Dispose,还是必须这样做?
- asp.net – IIS7中的SQL Server和Windows身份验证
- asp.net – 如何从服务器端关闭Modal popup Extender
- asp.net – 在Visual Studio 2012中创建控制器时出错
- ASP.Net错误:“类型”foo“存在于”temp1.dll“和”temp2.
- asp.net – 将appsettings.production.json发布到azure上
