我試圖將TinyMCE wysiwyg的內容發佈到數據庫插入的控制器函數中。這樣的設置將始終顯示無法加載資源:服務器迴應500(內部服務器錯誤)的狀態理由是在Chrome瀏覽/管理/ postnewarticle /在錯誤控制檯中的數據路徑:如果字符串包含HTML標記,則無法解析AJAX發佈URL(500)
$.ajax({
url: '/admin/postnewarticle/',
type: 'post',
dataType: 'json',
data: {
content: tinyMCE.get('article-content').getContent(),
title: $('#article-title').val(),
articleType: $('#article-types option:selected').val()
},
success: function (result) {
// success stuff
}
});
當我在Chrome中進行調試時,將tinyMCE.get('article-content').getContent()
作爲手錶表達顯示我在這裏獲得了期望的值:無論我在TinyMCE文本區域中寫入了什麼,都包含在<p>
標記中。如果我用一些隨機的靜態字符串值替換「content」的值而沒有任何HTML標籤,控制器方法將正確執行。
這裏是控制器的方法,我試圖打:
[HttpPost]
[Authorize(Roles = "Administrators")]
[ValidateInput(false)]
public JsonResult PostNewArticle(string title, HtmlString content, string articleType)
{
// do stuff
}
請注意,對於「內容」的數據類型這裏是HtmlString ......這是從剛剛字符串,最終做了一些研究之後改變帶領我here。但無論是字符串還是HtmlString,如果內容的值包含HTML標記,則該操作仍不會執行。
任何和所有幫助表示讚賞!
哈哈,編者按:我的意思是不要說「用段落標記」在我的問題中間。我輸入了字母p /括號,以致導致換行。 – AJH 2012-03-23 06:43:00