我使用的是summernote编辑器,我想在代码后面检索它的内容。我尝试使用以下方法,但它返回空(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"];
有什么建议吗?
这是我的代码完美工作
<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;
}
您是否考虑过使用<textarea>
而不是<div>
来处理此问题?通常,它们在存储值方面更容易使用(因为它们是为这样做而设计的):
<textarea id="txtTest" runat="server"></textarea>
处理此问题的方法之一是使用Summernote的可用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')));
以下是我如何让它工作的。将其引用为类class="summernote"
$(document).ready(function () {
$('.summernote').summernote();
});