如何在Html.TextBoxFor上应用自定义属性

时间:2013-04-07 06:52:14

标签: jquery asp.net-mvc-3

我有一个jquery自定义属性来掩盖文本框,我可以在这样的输入控件上应用

<input data-inputmask="'mask': '9.99 %', 'repeat': 1, 'greedy' : true" />

但我需要将它应用于@ Html.TextBoxFor

for (int i = 0; i < Model.PurchaseContract.Particulars.Count; i++)
{
@Html.TextBoxFor(m => m.PurchaseContract.Particulars[i].StandardReceived, new { @class = "textbox", @style = "width:94%;" })
}

请建议我怎么做呢

1 个答案:

答案 0 :(得分:0)

你并不总是坚持使用Html Extensions,我曾多次直接写过html。 Html扩展程序有时很难处理某些属性,例如in my question and answer here

你可以尝试这样的事情,但请注意我不保证工作。

@for (int i = 0; i < Model.PurchaseContract.Particulars.Count; i++)
{
    <input type="text" class="textbox" style="width:94%;" 
           data-inputmask="'mask': '9.99 %', 'repeat': 1, 'greedy' : true"
           name="@Model.PurchaseContract.Particulars[i].StandardReceived"
           id="@Model.PurchaseContract.Particulars[i].StandardReceived" />
}

正确命名的元素将起作用并参与发送给控制器的Model对象。

要使用Html.TextBoxFor提供准确的输出,请首先使用当前的Html扩展名运行项目。检测浏览器中的元素并将输入行复制到视图中。将nameid与下面的代码行中的内容进行更改,并将data-inputmask属性添加到其中。