4

ASP.NET プロジェクトで CKEDITOR を使用しました。ページにはリンクボタンが含まれasp:TextBoxTextMode="Multiline"います。linkbutton を押すと、ポストバックで TextBox の値を取得できません。エラーは発生しませんでした。サーバー側でコンテンツを取得するにはどうすればよいですか? jQuery を使用して CK の内容の変更を追跡し、非表示のテキスト領域にコピーすることを考えていましたが、正しくないようでした。

.net ライブラリ バージョンではなく、JavaScript バージョンのCK v4.2を使用しています。

追加:
CKEditor.zip ファイルでダウンロードされたサンプルでは、​​$_POST を使用してサーバー側でテキストを取得するのが簡単であることがわかります。
なぜ ASP.NET ではないのですか?

更新:
この問題は、RadScriptManager、RadAjaxManager、および RadAjaxPanel (telek から) を使用している場合に発生します。

4

6 に答える 6

2

ASPX ページで、CKEditor コントロールを次のように設定します。

<CKEditor:CKEditorControl ID="CKEditor1" runat="server"/>

コード ビハインド ページ:

protected void Page_Load(object sender, EventArgs e)
{
    if (Page.IsPostBack)
    {
        string text1 = CKEditor1.Text;
        string text2 = CKEditor1.Value;
        ...
    }
}

CKEditor バイナリへの適切な参照を追加/含めることを忘れないでください

于 2013-08-22T11:58:43.260 に答える
0

このような何かが役立つかもしれません

string newText = ((CKedit.CKeditor)(e.Item.FindControl("txtBox"))).Value;

それ以外の場合は、updatepanel を使用して、ポストバック時にその値を保持します

于 2013-08-22T11:54:01.083 に答える
-1

ポストバック イベントを発生させる前に、この関数を呼び出して値を設定します

function setValue() 
{
     $("#txtinstruction").val(CKEDITOR.instances.txtinstruction.getData());
}

txtinstructionテキストボックスまたはテキストエリアのIDです

于 2013-08-22T11:56:49.727 に答える