在@ Html.TextAreaFor MVC 4中添加文本

时间:2013-05-20 08:51:29

标签: asp.net-mvc asp.net-mvc-4

我需要在表单中创建textarea字段

 <textarea class="img-shadow" cols="20" id="Message" name="Message" rows="2">Message</textarea>

我写代码

  @Html.TextAreaFor(model => model.Message, new { @class = "img-shadow" })

但我得到没有任何文字的空文本区域

 <textarea class="img-shadow" cols="20" id="Message" name="Message" rows="2"></textarea>

如何添加文字?

5 个答案:

答案 0 :(得分:5)

文本框的内容将是model.Message的值。

这应该在Action的{​​{1}}方法中设置,并传递给Controller

View

作为测试,只需在public ViewResult ActionName() { var model = new ViewModel(); model.Message = "Text Area Content"; return View(model); } 中输出model.Message,它就会为空。

View

然后 <p>@Model.Message</p> 将输出

@Html.TextAreaFor(model => model.Message, new { @class = "img-shadow" })

答案 1 :(得分:3)

经过多次刮擦,我设法以这种方式完成。

@{ var _address="Line 1\nLine 2\n Line 3"; }

@Html.TextArea(Model.xxxx , new { id="address" } )
<script>
var x = @Html.Raw(Json.Encode( _address )) ;
document.getElementById("address").value = x;
</script>

如果你没有像换行符那样的控制字符\ n你可以用var x =“Text”替换var x = @ Html ......;

答案 2 :(得分:2)

@Html.TextAreaFor(model => model.Message, new { @class = "img-shadow", value = "added text" })

但是如果你在控制器Get方法中初始化你的模型,那么它会自动为你的textarea添加文本。

检查these教程

答案 3 :(得分:1)

将默认值添加到其中..通过

@Html.TextAreaFor(model => model.Message, new { @class = "img-shadow",@value = "added text" })

答案 4 :(得分:0)

在控制器写入

ModelVariable.Message= Server.HtmlDecode(ModelVariable.Message);

@Html.TextAreaFor(model => model.Message, new { @class = "img-shadow" })

它对我有用