0

私の MVC アプリケーションでは、抽出したテキストを CKEDITOR に表示したいと考えています。しかし、テキストはエディターではなくテキストエリアに表示されています私のコントローラーコードは次のとおりです。

 public ActionResult ExtractText(string fn)
    {

        string extFile = Server.MapPath(_fileUploadPath + fn);
        string filePath = Path.Combine(HttpContext.Server.MapPath(_fileUploadPath), Path.GetFileName(fn));
        if (filePath != null)
        {

            SautinSoft.PdfFocus f = new SautinSoft.PdfFocus();
            f.OpenPdf(System.IO.File.ReadAllBytes(filePath));

            string text = f.ToText();
            string sValue = "<textarea id = \"temp_edit\" name=\"content\" cols=\"73\" rows=\"15\">" + text + "</textarea> <script type=\"text/javascript\">CKEDITOR.replace('temp_edit');</script><input class=\"margin-top-05 green_button\" type=\"button\" value=\"Save\" onclick=\"save_file()\" /><a class=\"close\" onclick=\"parent.$.fancybox.close();\"><img class=\"close_image\" title=\"close\" src=\"../images/closelabel.gif\" style=\"width: auto; height: auto; position: absolute; bottom: 0px; right: 0px;\"></a>";
           return Content(sValue);
        }
        else
        {
            TempData["UploadValidationMessage_Failure"] = "File does not exist";
            return View();

        }
    }
4

1 に答える 1

4

テキストエリア スタイル、JavaScript イベントをビューで実行できます。テキストをビューに渡し、テキストエリアに表示します。すべてのイベントとスタイルをビューに書き込むことができます。ckeditor は、ready 関数でテキストエリアにロードできます。以下をお読みください。

.Net MVC 用の CK エディター

プロジェクトに CKEditor を実装するより良い方法については、次のリンクの aswer を参照してください。

CKEditor MVC 3 実装のヘルプが必要

編集..

<%= Html.ActionLink("Extract Text", "ExtractText", new { fn = file })%>

あなたをあなたの機能に連れて行きます。

モデル NewContent があるとしましょう

public class NewContent
{
 public string Text
    {
        get;
        set;
    }
}

コントローラーからテキストを含む NewContent オブジェクトを返します。

 public ActionResult ExtractText(string fn)
    {
        string extFile = Server.MapPath(_fileUploadPath + fn);
        string filePath = Path.Combine(HttpContext.Server.MapPath(_fileUploadPath), Path.GetFileName(fn));
        if (filePath != null)
        {
            SautinSoft.PdfFocus f = new SautinSoft.PdfFocus();
            f.OpenPdf(System.IO.File.ReadAllBytes(filePath));
            string text = f.ToText();
            NewContent content = new NewContent();
            content.Text = text;
            return View(content);
        }
        else
        {
            TempData["UploadValidationMessage_Failure"] = "File does not exist";
            return View();

        }
    }

ビューで、次を追加します

 <script src="ckeditor/ckeditor.js"></script>
 <script src="ckeditor/adapters/jquery.js"></script>

<%=Html.TextAreaFor(c => c.Text) %>

 <script type="text/javascript">
    $(function () {
        $('#Text').ckeditor();
    });
</script>

ck エディターのビューでコントローラーからテキストを取得します。必要なすべてのckeditorスクリプトとその場所が正しく提供されていることを確認してください

于 2013-03-20T06:48:03.400 に答える