ASP.Net MVC TextAreaFor无法改变宽度

本文关键字:改变 Net MVC TextAreaFor ASP | 更新日期: 2023-09-27 18:13:47

我正在与ASP合作。Net MVC的第一次,我试图设置一个文本区域的宽度。

这应该(而且很可能)真的很简单,但是无论我尝试什么,区域的宽度都不会改变。

到目前为止,我已经尝试了以下操作:

@Html.TextAreaFor(m => m.RequestDetails, 10, 10, htmlAttributes: new {@class = "form-control", })
@Html.EditorFor(m => m.RequestDetails, new { htmlAttributes = new { @class = "form-control" } })
@Html.TextAreaFor(m => m.RequestDetails , new { @class = "form-control", @cols = 80, @rows = 10 })

我可以改变行数没有问题。

最初我认为这是由于引导和网格系统,所以我把它从网格中拿出来,并重新开始与上述所有并得到同样的问题。

I have look here:

  1. asp.net-mvc如何改变宽度Html。文本框

  2. TextAreaFor不能设置宽度

  3. asp.net-mvc如何改变宽度Html。文本框

和其他一些Stack问题以及我认为可以工作的所有内容都没有。

这个属性的ViewModel是

[Display(Name = "What is required")]
[DataType(DataType.MultilineText)]
[StringLength(4000, MinimumLength=50, ErrorMessage="Please provide more information about your requirements")]
public string RequestDetails { get; set; }

我希望有这个跨度的div,它将进入的宽度,所以会非常感谢一些帮助。

对我来说,最后的手段是使用HTML控件而不是Razor,并以这种方式获取数据,但我确实相信这应该很容易实现我想要的。只是我做错了。由于

西蒙

ASP.Net MVC TextAreaFor无法改变宽度

这里的问题是处理max-width

这是正确的实现:

@Html.TextAreaFor(m => m.RequestDetails, 10, 10, htmlAttributes: new {@class = "form-control", })

你所要做的就是给这个文本区域另一个类名然后在你的CSS中设置这个类的max-width,就像这样:

剃须刀/HTML

@Html.TextAreaFor(m => m.RequestDetails, 10, 10, htmlAttributes: new {@class = "form-control width-textarea", })
CSS

.width-textarea{
    max-width: /* whatever you please */ !important
}

让我知道这是否有帮助!

<style>
    .areaWidth
    {
        width: 100px;
    }
</style>
@Html.TextAreaFor(m => m.RequestDetails, new { @class = "form-control areaWidth" })