You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ASP.NET中无法获取Summernote值:隐藏字段后台返回空字符串

解决Summernote内容赋值到隐藏字段后端为空的问题

问题原因

你给ASP.NET HiddenField赋值时用了innerText属性,但HiddenField是通过value属性传递提交数据的,innerText的内容不会被包含在表单提交参数里,导致后端获取到空字符串。

修复后的JavaScript代码

把赋值语句从设置innerText改为设置value:

$("#<%= txtQuestion.ClientID %>").on('summernote.blur', function () {
    debugger;
    let a = $('#<%= txtQuestion.ClientID %>').summernote('code');
    // 用value属性赋值,而非innerText
    document.getElementById("<%= HiddenField1.ClientID %>").value = a;
    console.log(a);
});

或者用jQuery更简洁的写法:

$("#<%= txtQuestion.ClientID %>").on('summernote.blur', function () {
    debugger;
    let a = $(this).summernote('code');
    $("#<%= HiddenField1.ClientID %>").val(a);
    console.log(a);
});

额外优化:避免用户未触发blur直接提交的情况

如果用户没触发编辑器的blur事件就直接提交表单,隐藏字段还是会为空。可以添加表单提交时的赋值逻辑:

$("form").submit(function() {
    let content = $('#<%= txtQuestion.ClientID %>').summernote('code');
    $("#<%= HiddenField1.ClientID %>").val(content);
});

后端代码无需修改

string a = HiddenField1.Value;

内容的提问来源于stack exchange,提问作者Vishakh Shetty

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 17:05:19