C# 从MVC4中的表单获取数据

C# 从MVC4中的表单获取数据,c#,asp.net,asp.net-mvc-4,C#,Asp.net,Asp.net Mvc 4,在我看来,我有以下HTML,是的,我知道我可以使用HTML助手,但在这种情况下,我不能使用它,因为当我允许MVC创建textarea时,我们在页面上使用的一些脚本会导致严重的问题 @Html.TextBox("name", "", new { @placeholder = "name", @class = "formElement", @id="name"}) <textarea id="message" placeholder="comments" class="formElement

在我看来,我有以下HTML,是的,我知道我可以使用HTML助手,但在这种情况下,我不能使用它,因为当我允许MVC创建textarea时,我们在页面上使用的一些脚本会导致严重的问题

@Html.TextBox("name", "", new {  @placeholder = "name", @class = "formElement", @id="name"})
<textarea id="message" placeholder="comments" class="formElement"></textarea>
名称是可以访问的,因为它是用HTML助手创建的,但我无法访问该消息,它永远不会返回任何内容。名称和消息都在my ViewModel中定义:

    public string name { get; set; }
    public string message { get; set; }
如何访问消息文本区域中的文本?

您应该为文本区域添加一个“名称”属性。html元素是根据它们的名称发布的

<textarea id="message" name="message" placeholder="comments" class="formElement"></textarea>

在MVC ii中,在视图中有一个合适的模型,并将模型属性分配给所需的控件是一个很好的实践,例如下一个示例:

@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>

并允许在提交表单并使用视图发送的模型调用控制器中的操作时进行正确的过帐

<textarea cols="5" id="remark" name="remark" rows="10" style="resize: none"></textarea>