1

我需要在我的表单中创建 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>

如何在其中添加文本?

4

5 回答 5

5

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

这应该在你的Action方法中设置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" })会输出

 <textarea class="img-shadow" cols="20" id="Message" name="Message" rows="2">Text Area Content</textarea>  
于 2013-05-20T09:16:26.507 回答
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=@Html...... 替换为 var x = "Text" ;

于 2015-10-07T14:53:42.963 回答
2
@Html.TextAreaFor(model => model.Message, new { @class = "img-shadow", value = "added text" })

但是,如果您在控制器 Get 方法中初始化模型,那么它会自动将文本添加到您的文本区域。

检查这些教程

于 2013-05-20T08:54:06.323 回答
1

您将默认值添加到其中.. by

@Html.TextAreaFor(model => model.Message, new { @class = "img-shadow",@value = "added text" })
于 2015-12-07T06:24:17.173 回答
0

在控制器写入

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

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

它对我有用

于 2017-03-23T04:28:57.213 回答