在@html.textboxFor中传递额外属性 - ASP.NET

时间:2014-03-21 12:09:39

标签: c# asp.net razor

我正在尝试在@ HTML.TextBoxFor中传递额外的属性' data_id'但是我没有得到结果

我在以下代码中遗漏的内容......

  @Html.TextBoxFor(model => model._MarkScheme.MarkSchemeId, new { id = "_MarkSchemeId_Input", @class = "ElementMarkingSchemeTitle k1-grid-input k-textbox_3", data_id =  @item.ElementID + "EMST"}) 

非常感谢

2 个答案:

答案 0 :(得分:3)

下划线在HTML属性名称中无效,因此Razor会将其转换为连字符。这将使用data-id属性进行渲染。

答案 1 :(得分:1)

在ASP.Net MVC视图引擎中,HTML 5 data-*属性应该是data_*来呈现它。

HTML语法

<input type="text" data-my-id="5" value="something" />

MVC语法

@Html.TextBoxFor(model => model.Name, new {data_my_id=@item.ID})

您的情况是data-id