0

MVC で .net Framework 4.0 を使用しています。

テキスト領域コントロールに WYSWYG エディターが必要なため、ページに HTMLBox (jquery プラグイン) を含めました。

Textarea コントロールを次のように宣言する Instruction という部分ビューがあります。

@Html.TextAreaFor(model => model.Instruction, new {@cols = 80, @rows = 10 })

Ajax 呼び出しで、この部分ビューをページに入力します。このような:

 function EditInstruction(progId) 
    {
            var getUserUrl = '@Url.Action("")';
            var courseType =  $('input:radio[name=CourseType]:checked').val();
            var acadYr = $("#AcadYear").val();
            var sem = $("#Sem").val();

            $.ajax({
                url: '@Url.Action("EditInstruction", "CustomizeInstructionsAndCheckList")',
                data: { progId: progId, acadYr: acadYr, sem: sem, courseType: courseType },
                cache: false,
                type: "get",
                // callback handler that will be called on success
                success: function (response, textStatus, jqXHR) {

               $("#PartailLoadForCheckList").html($(response));  
               callAjaxCallsForCascade(getUserUrl.toString());
               TextEditorForDisplay();


                },
                // callback handler that will be called on error
                error: function (jqXHR, textStatus, errorThrown) {

                },
                // callback handler that will be called on completion
                // which means, either on success or error
                complete: function () {

                }
            });
        }

 This is the code for TextEditorForDisplay(), where I initialize my HtmlBox

 function TextEditorForDisplay() {

        mybox = $("#Instruction").htmlbox({
       toolbars:[
        [
        // Cut, Copy, Paste
        "separator","cut","copy","paste",
        // Undo, Redo
        "separator","undo","redo",
        // Bold, Italic, Underline, Strikethrough, Sup, Sub
        "separator","bold","italic","underline","strike","sup","sub",
        // Left, Right, Center, Justify
        "separator","justify","left","center","right",
        // Ordered List, Unordered List, Indent, Outdent
        "separator","ol","ul","indent","outdent",
        // Hyperlink, Remove Hyperlink, Image
        "separator","link","unlink","image"     
        ],
        [// Show code
        "separator","code",
        // Formats, Font size, Font family, Font color, Font, Background
        "separator","formats","fontsize","fontfamily",
        "separator","fontcolor","highlight",
        ]
        ],
        icons: 'default',
        skin: 'blue',
        success: function () { alert("Successfully posted"); },
        error: function () { alert("Error posting"); }
        });



    }
The problem I face is that, the HtmlBox works only when it is Loaded first and does not work for the subsequent ajax calls. 

これは私が得るエラーです:TypeError: d.iframe.contentWindow is null

誰でもこれについて私を助けることができますか?

ありがとう

4

1 に答える 1

0

TinyMCE.MVC

TinyMCE HTML テキスト エディター用の MVC 部分エディター テンプレート

PM> インストール パッケージ TinyMCE.MVC

[UIHint("tinymce_jquery_full"), AllowHtml]
public string Instruction { get; set; }
于 2012-10-01T05:43:21.350 に答える