在我看来,我有以下HTML,是的,我知道我可以使用HTML帮助器,但在这种情况下我不能使用它,因为我允许MVC创建textarea时,我们在页面上使用的一些脚本会导致严重的问题
@Html.TextBox("name", "", new { @placeholder = "name", @class = "formElement", @id="name"})
<textarea id="message" placeholder="comments" class="formElement"></textarea>
然后在我的控制器中,我设置了一条非常基本的行来打印出名称和信息。
[HttpPost]
public ActionResult Form(MessageViewModel model)
{
return Content("Name: " + model.name + " Message: " + model.message);
}
名称可以访问得很好,因为它是使用HTML帮助程序创建的,但我无法访问消息,因此无法返回任何内容。名称和消息都在我的ViewModel中定义:
public string name { get; set; }
public string message { get; set; }
如何访问短信textarea中的文字?
答案 0 :(得分:6)
您应该为textarea添加“name”属性。 html元素根据其名称发布。
<textarea id="message" name="message" placeholder="comments" class="formElement"></textarea>
答案 1 :(得分:1)
在MVC中,如果在视图中拥有适当的模型并将模型属性分配给所需的控件(如下一个示例),那么这是一个很好的实践:
@Html.TextAreaFor(m => Model.remark, 10, 5, new { style = "resize: none" })
@Html.TextAreaFor
将呈现为:
<textarea cols="5" id="remark" name="remark" rows="10" style="resize: none"></textarea>
并允许在提交表单时正确发布,并且使用View发送的模型调用Controller中的Action。