我正在使用TinyMCE,文本区域被替换为文本框,但是当我尝试用我的文本框中的新文本更新数据库时,它不会更新。谁能帮我?无法更新TinyMCE中的文本框
我的代码看起来像这样
<%@ Page Title="" Language="C#" MasterPageFile="~/Main.Master" AutoEventWireup="true" CodeBehind="default.aspx.cs" Inherits="Test_TinyMCE._default" ValidateRequest="false" %>
<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server">
<script src="JavaScript/tiny_mce/tiny_mce.js" type="text/javascript"></script>
<script type="text/javascript">
tinyMCE.init({
// General options
mode: "textareas",
theme: "advanced",
plugins: "pagebreak,style,layer,table,save,advhr,advimage,advlink,emotions,iespell,insertdatetime,pre view,media,searchreplace,print,contextmenu,paste,directionality,fullscreen,noneditable,visualchars,no nbreaking,xhtmlxtras,template,wordcount,advlist,autosave",
// Theme options
theme_advanced_buttons1: "save,newdocument,|,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,|,cite,abbr,acronym,del,ins,attribs,|,visualchars,nonbreaking,template,pagebreak,restoredraft",
theme_advanced_toolbar_location: "top",
theme_advanced_toolbar_align: "left",
theme_advanced_statusbar_location: "bottom",
theme_advanced_resizing: true,
// Example content CSS (should be your site CSS)
// using false to ensure that the default browser settings are used for best Accessibility
// ACCESSIBILITY SETTINGS
content_css: false,
// Use browser preferred colors for dialogs.
browser_preferred_colors: true,
detect_highcontrast: true,
// Drop lists for link/image/media/template dialogs
template_external_list_url: "lists/template_list.js",
external_link_list_url: "lists/link_list.js",
external_image_list_url: "lists/image_list.js",
media_external_list_url: "lists/media_list.js",
// Style formats
style_formats: [
{ title: 'Bold text', inline: 'b' },
{ title: 'Red text', inline: 'span', styles: { color: '#ff0000'} },
{ title: 'Red header', block: 'h1', styles: { color: '#ff0000'} },
{ title: 'Example 1', inline: 'span', classes: 'example1' },
{ title: 'Example 2', inline: 'span', classes: 'example2' },
{ title: 'Table styles' },
{ title: 'Table row 1', selector: 'tr', classes: 'tablerow1' }
],
// Replace values for the template plugin
template_replace_values: {
username: "Some User",
staffid: "991234"
}
});
</script>
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">
<div>
<asp:TextBox ID="TextBox1" runat="server" TextMode="MultiLine"></asp:TextBox>
<br />
<asp:LinkButton ID="LinkButton1" runat="server" onclick="LinkButton1_Click">Update</asp:LinkButton>
</div>
</asp:Content>
我codebhind看起来像这样
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace Test_TinyMCE
{
public partial class _default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
TextBox1.Text = Database.GetFirst().Text;
}
protected void LinkButton1_Click(object sender, EventArgs e)
{
Database.Update(Database.GetFirst().ID, TextBox1.Text);
TextBox1.Text = Database.GetFirst().Text;
}
}
}
最后使用这个样子的
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Configuration;
using System.Data.SqlClient;
namespace Test_TinyMCE
{
public class Database
{
public int ID { get; set; }
public string Text { get; set; }
public static void Update(int ID, string Text)
{
SqlConnection connection = new SqlConnection(ConfigurationManager.AppSettings["DatabaseConnection"]);
connection.Open();
try
{
SqlCommand command = new SqlCommand("Update Text set [email protected] where [email protected]");
command.Connection = connection;
command.Parameters.Add(new SqlParameter("id", ID));
command.Parameters.Add(new SqlParameter("text", Text));
command.ExecuteNonQuery();
}
finally
{
connection.Close();
}
}
public static Database GetFirst()
{
SqlConnection connection = new SqlConnection(ConfigurationManager.AppSettings["DatabaseConnection"]);
connection.Open();
try
{
SqlCommand command = new SqlCommand("Select Top 1 ID, Text from Text order by ID asc");
command.Connection = connection;
SqlDataReader reader = command.ExecuteReader();
if (reader.Read())
{
Database item = new Database();
item.ID = reader.GetInt32(0);
item.Text = reader.GetString(1);
return item;
}
else
{
return null;
}
}
finally
{
connection.Close();
}
}
}
}
我真的希望 “数据库” 级IM有人在那里可以帮我
你把那段代码放在javascript或codebehind中。如果它在代码隐藏中,那么您是否使用了使用方法,因为我无法使用这个方法来显示。 –
您需要在将数据保存到数据库之前调用此js-snippet(例如,作为提交按钮上的点击操作) – Thariama
我应该说我是C#和java的新手,所以让我看看我是否正确。 您希望我将OnClick =“tinymce.triggerSave()”添加到我的LinkButton,但只能有一个OnClick事件。我如何添加额外的事件? –