首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >MVC 5 @Html.EditorFor覆盖@id

MVC 5 @Html.EditorFor覆盖@id
EN

Stack Overflow用户
提问于 2018-07-14 02:03:16
回答 4查看 796关注 0票数 1

我有一个由ASP.net页面中的@Html.EditorFor生成并使用的下拉列表,我的问题是我无法为此字段分配Id。我在两个不同的点使用相同的控件,我想使用我模型中的索引/id来切换/交换values.here是它的dic

代码语言:javascript
复制
  <div class="editor-field">
                    @Html.EditorFor(m => m.state, new { @id = "state" + Model.Index })

                </div>

呈现的html是

代码语言:javascript
复制
<div class="editor-field">
    <label for="EteProvince">State</label>
    <select id= "EteProvince" name="EteProvince" style="width:220px" 
              class="valid">
    </select>
</div>

我想在select的id中添加一个model.index。有没有办法做到这一点?

谢谢

EN

回答 4

Stack Overflow用户

发布于 2018-07-14 02:29:19

对于所有的HTML方法,您可以设置一个viewData对象,该对象为生成的Asp.Net设置额外的属性值:

代码语言:javascript
复制
@Html.EditorFor(
    modelItem => item.YourProperty, 
    new { htmlAttributes = new { @id="custom_id" } })

有关更多信息,请查看this

票数 0
EN

Stack Overflow用户

发布于 2018-07-14 02:45:33

这应该会让你走上正确的道路:

代码语言:javascript
复制
@Html.LabelFor(model => model.YourItem, "State: ", new { @id = "MyID"}) 
@Html.EditorFor(model => model.YourItem, new { @id = "MyID2"})

这将允许您使用CSS设置标签/编辑器的样式。希望这能有所帮助!

票数 0
EN

Stack Overflow用户

发布于 2018-07-14 03:20:23

代码语言:javascript
复制
<div class="editor-field">
    @Html.EditorFor(p => p.item.property, new { htmlAttributes = new { @id="itemId" }})
</div>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51330630

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档