gpt4 book ai didi

asp.net-mvc-3 - 如何在MVC3自定义编辑器模板中获取属性名称

转载 作者:行者123 更新时间:2023-12-03 07:27:23 26 4
gpt4 key购买 nike

我的项目中有一个枚举,并且为此枚举创建了一个自定义编辑器模板。因此,现在我所拥有的带有此枚举类型的属性的任何模型都将显示一个下拉列表。

这很好用,但是我想用属性的名称来命名下拉菜单中的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>

因此,在我具有“PropertyNameHere”作为选择元素id和name属性的地方,我想拥有模型属性的名称。这是一个例子:

我的模特:
    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”。

最佳答案

我在这里有一本书中找到了答案。其实,这让我接近了,但是我可以根据我的发现搜索其余的谷歌。

这是我需要添加到编辑器模板中的内容。

@{var fieldName = ViewData.TemplateInfo.HtmlFieldPrefix;}
<select id="@fieldName" name="@fieldName">

关于asp.net-mvc-3 - 如何在MVC3自定义编辑器模板中获取属性名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8186012/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com