【问题标题】:Specify size and maxlength for Html.TextBoxFor为 Html.TextBoxFor 指定大小和最大长度
【发布时间】:2012-02-22 13:47:52
【问题描述】:

我需要改变文本框的大小:

 @Html.SimpleTextBoxFor(m => ((ModifiableProperty<string>)m).Value.TheCurrentValue, new { id = fieldId})

我试过了

@Html.SimpleTextBoxFor(m => ((ModifiableProperty<string>)m).Value.TheCurrentValue, new { id = fieldId, @maxlength = "100" })

但不起作用。

【问题讨论】:

    标签: asp.net-mvc-3 c#-4.0 razor


    【解决方案1】:

    你也可以试试这个:

    @Html.SimpleTextBoxFor(m => ((ModifiableProperty<string>)m).Value.TheCurrentValue, new { id = fieldId, style ="width:200px"})
    

    只需将 200px 值更改为您想要的大小即可。

    对于 maxlength,我使用与您相同的语法,它对我有用。

     @Html.TextBoxFor(model => model.EL_Taille_Initiale, new { style = "width:50px", @maxlength = "5" })
    

    【讨论】:

    • 谢谢你,很好;我需要动态更改它:随着文本中值的长度减少和扩展??
    【解决方案2】:

    为您的maxlength 属性取出"@" 字符。您只需要保留关键字(即class)。此外,maxlength 的数字也不需要引号。

    @Html.SimpleTextBoxFor(m => ((ModifiableProperty<string>)m).Value.TheCurrentValue, new { id = fieldId, maxlength = 100 })
    

    如果这不能解决问题,请在响应页面上发布生成的 HTML 标记。

    【讨论】:

    • 它不起作用:
    • @A.adnane,最大长度为 500,您不会截断该文本。
    • @A.adnane 您遇到的问题是因为文本框 maxlength 只会阻止用户输入超过该值。但是,如果您将文本框设置为初始值,则约束不会限制它。
    • 我需要的是这个:@Html.SimpleTextBoxFor(m => ((ModifiableProperty)m).Value.TheCurrentValue, new { id = fieldId, style = "width:"+( (ModifiableProperty)Model).Value.TheCurrentValue.Length }) 但它不起作用
    【解决方案3】:

    我正在为我的 TextBox 使用一个不允许传递 HTML 属性的构造函数,所以我必须将它添加到我的 $(document).ready 函数中:$('#textBoxID').attr('maxlength', 30); 不直接回答 OP 问题,但提供了另一个起点。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-12-11
      • 1970-01-01
      • 1970-01-01
      • 2016-02-29
      • 2019-07-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多