4
我有一個TinyMCE的腳本返回我的ASP.NET頁面,並與功能SaveFAQ()
我們可以節省了TineMCE使用textarea的(一個或多個)的幫助,任何價值。TinyMCE的犯規第一次我節省
private void SaveFAQ(bool returnToFAQ = false)
{
DataSet ds = new DataSet();
if (mceQuestion.Value.Length > 7)
if (mceQuestion.Value.Substring(0, 3) == "<p>" && "</p>" == mceQuestion.Value.Substring(mceQuestion.Value.Length - 4, 4))
{
mceQuestion.Value = mceQuestion.Value.Substring(3, mceQuestion.Value.Length - 7);
}
DateTime? faqFromDate;
DateTime tmp;
if (DateTime.TryParse(txtQuestionOfTheDay.Text, out tmp))
faqFromDate = tmp;
else
faqFromDate = null;
ds = _server.AdminSaveFAQ(FAQ_Id, chbHighlight.Checked, LAN_Id_Primary, mceQuestion.Value, mceAnswer.Value, txtFlash.Text, mceStepByStep.Value, mceTip.Value, faqFromDate, chbImportant.Checked);
if (FAQ_Id == 0)
FAQ_Id = (int)ds.Tables[0].Rows[0]["FAQ_Id"];
foreach (Control c in pnlCheckbox.Controls)
{
if (c.GetType() == typeof(CheckBox))
_server.AdminSaveFAQCategory(FAQ_Id, int.Parse(((CheckBox)c).ID), ((CheckBox)c).Checked);
}
if (!returnToFAQ)
{
lblStatusUp.Visible = true;
lblStatusDown.Visible = true;
if (!ds.DataSetEmpty())
{
lblStatusUp.Text = "Saved successfully!";
lblStatusDown.Text = "Saved successfully!";
lblStatusUp.ForeColor = System.Drawing.Color.Green;
lblStatusDown.ForeColor = System.Drawing.Color.Green;
}
else
{
lblStatusDown.Text = "Error while saving!";
lblStatusUp.Text = "Error while saving!";
lblStatusUp.ForeColor = System.Drawing.Color.Red;
lblStatusDown.ForeColor = System.Drawing.Color.Red;
}
}
else
{
//if (Session["PreviousPage"] != null) Response.Redirect(Session["PreviousPage"].ToString());
Response.Redirect("~/Administration/FAQ.aspx");
}
}
我第一次按下保存按鈕會觸發其執行該功能SaveFAQ();
一個事件。它成功地在數據庫中創建了一行,但字符串mceQuestion.Value
& mceAnswer.Value
爲空。第二次按下按鈕時,它會觸發完全相同的事件,並且值被填充併成功保存。
我怎麼能這樣做,我只是必須按保存一次?
感謝所有的答案,有一個偉大的日子!
編輯: 這裏是mceQuestion;
<textarea ID="mceQuestion" runat="server" cols="100" rows="6" />
編輯2: 一直試圖比較這與節約的消息儲蓄(這是完全正常工作)。沒有太大的區別,我一直在測試這個SaveFAQ()
的差異,但是這並沒有削減它。
這裏是我的TinyMCE的設置,如果它們可能會派上用場。
<script type="text/javascript">
tinyMCE.init({
// General options
mode: "textareas",
theme: "advanced",
plugins: "autolink,lists,spellchecker,pagebreak,style,layer,table,save,advhr,advimage,advlink,emotions,iespell,inlinepopups,insertdatetime,preview,media,searchreplace,print,contextmenu,paste,directionality,fullscreen,noneditable,visualchars,nonbreaking,xhtmlxtras,template",
// Theme options
theme_advanced_buttons1: ",bold,italic,underline,strikethrough,|,justifyleft,justifycenter,justifyright,justifyfull,|,styleselect,formatselect,fontselect,fontsizeselect",
theme_advanced_buttons2: "cut,copy,paste,pastetext,pasteword,|,search,replace,|,bullist,numlist,|,outdent,indent,blockquote,|,undo,redo,|,link,unlink,anchor,image,cleanup,help,code,|,insertdate,inserttime,preview,|,forecolor,backcolor",
theme_advanced_buttons3: "tablecontrols,|,hr,removeformat,visualaid,|,sub,sup,|,charmap,emotions,iespell,media,advhr,|,print,|,ltr,rtl,|,fullscreen",
theme_advanced_buttons4: "insertlayer,moveforward,movebackward,absolute,|,styleprops,spellchecker,|,cite,abbr,acronym,del,ins,attribs,|,visualchars,nonbreaking,template,blockquote,pagebreak,|,insertfile,insertimage",
theme_advanced_toolbar_location: "top",
theme_advanced_toolbar_align: "left",
theme_advanced_statusbar_location: "bottom",
theme_advanced_resizing: true,
// Skin options
skin: "o2k7",
skin_variant: "silver",
// Example content CSS (should be your site CSS)
//content_css: "css/example.css",
// Drop lists for link/image/media/template dialogs
template_external_list_url: "js/template_list.js",
external_link_list_url: "js/link_list.js",
external_image_list_url: "Images.aspx",
media_external_list_url: "js/media_list.js",
// Replace values for the template plugin
//template_replace_values: {
// username: "Some User",
// staffid: "991234"
//}
});
</script>
我感謝任何反饋,答案或提示,這可能會或導致我在正確的方向!
什麼是MceQuestion?這是隱藏的領域嗎? –
@FullTimeSkeleton - 這是一個textarea,我把它的代碼包含在問題中。 –