TextAreaFor无法设置宽度

时间:2014-03-06 16:11:12

标签: twitter-bootstrap razor twitter-bootstrap-3 asp.net-mvc-5

我无法在atextarea中设置宽度或列数。行/高度工作正常。请有人帮忙谢谢!

@using (Html.BeginForm())
{
    @Html.AntiForgeryToken()

    @Html.ValidationSummary(true)
    @Html.TextAreaFor(model => model.Comments, new {cols=60, rows=10})
    @Html.HiddenFor(model => model.UserName, new { UserName = @User.Identity })

    <div class="form-group">
        <div class="col-md-10">
            <input type="submit" value="Submit Feedback" class="btn btn-default" />
        </div>
    </div>
}

任何建议或提示都会受到极大的批评!谢谢

呈现的HTML是(出于安全原因,我删除了名称和值文本:

<form action="/feedback/create" method="post"><input name="" type="hidden" value="">        
<textarea name="Comments" id="Comments" rows="10" cols="60"></textarea>
<input name="UserName" id="UserName" type="hidden" value="" username="System.Security.Principal.WindowsIdentity">        

<div class="form-group">
        <div class="col-md-10">
            <input class="btn btn-default" type="submit" value="Submit Feedback">
        </div>
 </div>

修改

我可以通过CSS设置textarea的宽度,但只能设置为某个exten(可能是屏幕的15%)

5 个答案:

答案 0 :(得分:38)

所以我想通了,我相信这是导入到ASP.NET MVC5项目的引导程序的问题。答案很简单。只需设置CSS

    max-width: 1000px;
    width: 1000px;

修复了所有数据类型的问题。 Textarea,输入等

**** 更新2014年8月26日 ****

更改了我的回答以反映发布的评论。使用百分比而不是px来保持响应能力。 CSS应该是:

    max-width: 100%;
    width: 100%;

**** 更新8/29/2016 ****

使用Bootstrap修复此问题3.添加应用上述样式的 form-control

     @Html.TextAreaFor(x => x.Note, new { @class = "form-control", rows = "3" })

答案 1 :(得分:11)

这似乎是为了防止脚手架视图生成全宽度输入表单。

但是现在我们知道它已被设置我们可以在一个类中直接覆盖它,也可以直接在元素上覆盖它(下面简单地说明了这一点)。

关键是要记住设置max-width来覆盖site.css中的那个以及宽度CSS属性。

@Html.TextAreaFor(model => model.Comments, 10, 120, htmlAttributes: new {style="width: 100%; max-width: 100%;" }) 

答案 2 :(得分:5)

您可以添加类属性:

@Html.TextAreaFor(model => model.Comments, new {cols=60, rows=10, @class="form-control" })

答案 3 :(得分:5)

我遇到了同样的问题,发现我的Site.css中的以下CSS是原因(我注释掉了)。

/* Set width on the form input elements since they're 100% wide by default */
input,
select,
textarea {
    max-width: 280px;
}

答案 4 :(得分:1)

您的代码适用于我。查看fiddle demo

问题出在style=width:something

更好地检查CSS并尝试使用firebug / chrome console

进行修复