我有一个问题,如果用户键入文本并设置其格式,则信息将成功提交。但是,如果用户复制并粘贴格式化的文本(即Word文档文本),则提交失败。我收到500:Internal Server Error。这没有意义,因为当我输入信息时脚本可以工作。仅当我复制某些内容并将其粘贴到div中时,该操作才会失败。
我尝试使用Erik Woods https://jsfiddle.net/erikwoods/Ee3yC/
的此解决方案,但是我使用的是IE11,并且该版本不支持插入文本。
$(document).ready(function () {
$('#btnsubmit').click(function () {
$.ajax({
type: 'POST',
contentType: "application/json; charset=utf-8",
url: 'Test.aspx/Insert',
data: "{'SubjectDiv':'" + document.getElementById('SubjectDiv').innerHTML + "','PurposeDiv':'" + document.getElementById('PurposeDiv').innerHTML + "'}",
async: false,
success: function(response)
{
alert("Success!")
},
error: function(xhr, status, error)
{
var errorMessage = xhr.status + ': ' + xhr.statusText
alert('Error - ' + errorMessage);
}
});
});
});
[WebMethod]
public static string Insert(string SubjectDiv, string PurposeDiv)
{
string connectionString = ConfigurationManager.ConnectionStrings["connectionString"].ConnectionString;
var NetworkID = HttpContext.Current.User.Identity.Name;
string username = NetworkID.Substring(4);
using (SqlConnection conn = new SqlConnection(connectionString))
{
SqlCommand comm = new SqlCommand("INSERT INTO Data (Subject, Purpose) Values (@Subject, @Purpose)", conn);
comm.CommandType = CommandType.Text;
comm.Parameters.AddWithValue("@Subject", SubjectDiv);
comm.Parameters.AddWithValue("@Purpose", PurposeDiv);
conn.Open();
comm.ExecuteNonQuery();
conn.Close();
}
return "True";
}