是否可以从 asp.net 网络表单中的 Summernote 编辑器获取价值?

Is it possible to get value from Summernote editor in asp.net web forms?

我正在使用 summernote 编辑器,我想在代码隐藏中检索它的内容。 我尝试使用以下方式,但它 returns empty(null)

1-

default.aspx

<div class="summernote"  id="txtTest" runat="server"></div>

后面的代码:

string content= txtTest.InnerText;

2-

default.aspx

<div class="summernote"  id="txtTest" ></div>

后面的代码:

string name = Request.Form["txtTest"];

有什么建议吗?

您是否考虑过使用 <textarea> 来处理此问题而不是 <div>?通常它们在存储值方面更容易使用(因为它们被设计为这样做):

<textarea id="txtTest" runat="server"></textarea>

您可能处理此问题的方法之一是使用 Summernote's available API 注册一个事件,以便在焦点丢失时为您的 <textarea> 元素设置 HTML 内容(例如onblur) :

<script>
    $(function () {
        // Set up your summernote instance
        $("#txtTest").summernote();
        // When the summernote instance loses focus, update the content of your <textarea>
        $("#txtTest").on('summernote.blur', function () {
            $('#txtTest').html($('#txtTest').summernote('code'));
        });
    });
</script>

由于您可能要在元素中存储 HTML 内容,您可能希望确保 .NET 认为您没有试图利用它。您可以通过更新页面的 ValidateRequest 属性 明确设置此页面以忽略该过程来做到这一点:

<%@ Page ... ValidateRequest = "false" %> 

或者您可以尝试简单地转义正在设置的内容:

$('#txtTest').html(escape($('#txtTest').summernote('code')));

这是我完美运行的代码

<div class="form-group">
    <asp:Label ID="lblSummernote" runat="server" Text="Image" AssociatedControlID="txtSummernote" CssClass="control-label col-md-3"></asp:Label>
        <div class="col-md-8">
            <asp:TextBox ID="txtSummernote" runat="server" TextMode="MultiLine" Rows="2"></asp:TextBox>
            <asp:Label ID="lblSum" runat="server" Text="Summernote"></asp:Label>
      </div>
 </div>

JavaScript

<script src="/Content/SummerNote/summernote.js"></script>
    <script>
        $(function () {
            // Set up your summernote instance
            $("#<%= txtSummernote.ClientID %>").summernote();
            focus: true
            // When the summernote instance loses focus, update the content of your <textarea>
            $("#<%= txtSummernote.ClientID %>").on('summernote.blur', function () {
                $('#<%= txtSummernote.ClientID %>').html($('#<%= txtSummernote.ClientID %>').summernote('code'));
           });
        });
    </script>
    <script type="text/javascript">
        function funcMyHtml() {
            debugger;
            document.getElementById("#<%= txtSummernote.ClientID %>").value = $('#<%= txtSummernote.ClientID %>').summernote('code');
        }
    </script>

C# 代码隐藏

 protected void btnSubmit_Click(object sender, EventArgs e)
        {
            lblSum.Text = txtSummernote.Text;
        }

这是我如何让它工作的。 将其引用为 class class="summernote"

    $(document).ready(function () {
        $('.summernote').summernote();
    });