【问题标题】:Textarea value submitted as empty valueTextarea 值作为空值提交
【发布时间】:2020-12-08 02:36:21
【问题描述】:

我正在尝试将 textarea 输入中的值保存到模型中的字符串属性。 Textarea 字段是这样创建的

<div class="col-md-12 mt-4">
    <div class="form-group">
        <label class="col-md-4" style="font-weight: normal; text-align: left;">Label</label>
        <div class="col-md-6" title="Tooltip text">
            @Html.TextAreaFor(p => p.StringProp, new { @class = "full-text-area" })
        </div>
    </div>
</div>

String 属性在模型中定义为:

[DataType(DataType.MultilineText)]
public string StringProp { get; set; }

提交表单时,无论在文本区域中输入什么,发送的值都是空的。如果TextAreaForEditorFor 替换,则正确提交值,但我需要多行输入。如果我手动设置 StringProp 值,它会正确显示。我不确定我做错了什么,所以它一直发布空值?

【问题讨论】:

  • 它是否被包裹在&lt;form&gt;标签中?
  • @Andrei 是的,它在表单内部
  • 你能给我看看你的控制器吗?
  • @Andrei 感谢您的帮助,终于我找到了问题所在并将其发布为答案

标签: c# .net razor


【解决方案1】:

不幸的是(幸运的是)这是我的疏忽——我看到表单是通过 JS 提交的,但由于所有表单字段都显示在 POST 请求中,因此我从未查看那里的详细信息。

发生的情况是有人在收集表单字段数据之前编写了此代码,并且在收集文本区域值的部分存在错误,因此值始终未定义。

所以我猜真正的答案是

仔细阅读您的代码,不要假设任何事情

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-21
    • 2016-07-24
    • 1970-01-01
    相关资源
    最近更新 更多