8

ASP .NET MVC 4.0VS2012を使用。

私のページの 1 つで、WYSIWYG エディター「TinyMCE」を統合しようとしました。統合するには、次の URL をたどりました: .tugberkugurlu.com

私のビューページは次のようなものです:

@model AboutModels
@using FileUploadDemo.Models
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<script src="Scripts/tinymce/jquery.tinymce.js" type="text/javascript"></script>

@{
    ViewBag.Title = "About";
}

@using (Html.BeginForm()) {

@Html.ValidationSummary(true)

<fieldset>
    <legend>About</legend>

    <div class="editor-label">
        @Html.LabelFor(model => model.Title)
    </div>
    <div class="editor-field">
        @Html.EditorFor(model => model.Title)
        @Html.ValidationMessageFor(model => model.Title)
    </div>

    <div class="editor-label">
        @Html.LabelFor(model => model.PostedOn)
    </div>
    <div class="editor-field">
        @Html.EditorFor(model => model.PostedOn)
        @Html.ValidationMessageFor(model => model.PostedOn)
    </div>

    <div class="editor-label">
        @Html.LabelFor(model => model.Tags)
    </div>
    <div class="editor-field">
        @Html.EditorFor(model => model.Tags)
        @Html.ValidationMessageFor(model => model.Tags)
    </div>

    <div class="editor-label">
        @Html.LabelFor(model => model.Content)
    </div>
    <div class="editor-field">
        @Html.EditorFor(model => model.Content)
        @Html.ValidationMessageFor(model => model.Content)
    </div>

    <p>
        <input type="submit" value="Create" />
    </p>

    <p>
        Posted Content : @ViewBag.HtmlContent
    </p>

</fieldset>
}

ここで私のモデルは次のようになります:

public class AboutModels 
{
    public string Title { get; set; }
    public DateTime PostedOn { get; set; }
    public string Tags { get; set; }

    [UIHint("tinymce_jquery_full"), AllowHtml]
    public string Content { get; set; }

}

私の概要ページには、すべての機能が読み込まれます。

"@html.EditorFor(model=>model.content)"

読み込みも問題ありません。しかし、「WYSIWYG」ペイン(名前はわかりません。ペインは、テキストエリア(HTml.editorFor())に書かれたテキストを編集するために使用されます)が読み込まれません。ランタイムでは、jquery.tinymce.jsファイルで Exception がスローされます。

エラーメッセージ :

`Unhandled exception at line 86, column 11 in http://localhost:1706/Home/About

0x800a01b6 - Microsoft JScript runtime error: Object doesn't support this property or method`

そして、 ContinueまたはBreakの 2 つのオプションを教えてください。続行すると、前述のようにページに機能が読み込まれます。壊れた場合、テキストの背景が黄色のjquery.tinymce.jsファイルに残ります。

私は Javascript/jquery の経験がありません。そして、ASP .NET MVC 4.0 の新機能である、実際には、.net で Web アプリケーションを試すのはこれが初めてです。

nuGet から jquery を更新しました。それを解決するために可能な方法は何ですか?

4

6 に答える 6

3

まず、これは 2 つの同じ jquery ファイルです (ただし、min - 縮小版):

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>

2 番目: _Layout の下部に移動して、次を追加します。

        @Scripts.Render("~/bundles/jquery")
        @RenderSection("scripts", required: false)
        <script src="@Url.Content("~/Scripts/tinymce/jquery.tinymce.js")" type="text/javascript"></script>

3 番目: Views/Shared/EditorTemplates/tinymce_jquery_full.cshtml で削除

<script src="@Url.Content("~/Scripts/tinymce/jquery.tinymce.js")" type="text/javascript"></script>

これがあなたに役立つかどうか教えてください。

ヤロスラフ

于 2013-01-13T12:03:02.243 に答える
1

URL とスクリプト パスを組み合わせる場合

http://localhost:1706/Home/About
<script src="Scripts/tinymce/jquery.tinymce.js" type="text/javascript"></script>

これは、jquery.tinymce.js を /Home/About/Scripts/tinymce/jquery.tinymce.js に配置する必要があることを示唆しています。これは間違っていると思います。スクリプトのパスを次のように変更してみてください

<script src="/Scripts/tinymce/jquery.tinymce.js" type="text/javascript"></script>
//or
<script src="~/Scripts/tinymce/jquery.tinymce.js" type="text/javascript"></script>
于 2013-01-13T09:17:19.980 に答える
1

MVC3 ではすべて問題なく動作しますが、MVC4 では問題ありません。(少なくとも私にとっては..)

最後に、私はそれを働かせました。

_Layout.cshtml では、一番下の行を移動する必要がありました。

    @Scripts.Render("~/bundles/jquery")
    @RenderSection("scripts", required: false)

行の前の先頭 (head タグの内側) に:

    @Styles.Render("~/Content/css")
    @Scripts.Render("~/bundles/modernizr")

そして残します:

<script src="@Url.Content("~/Scripts/tinymce/jquery.tinymce.js")" type="text/javascript"></script>

EditorTemplate tinymce_jquery_full.cshtml ファイル内。

今ではMVC3のようにうまく動作します:)私が助けてくれることを願っています.

于 2013-04-30T14:41:47.570 に答える
-1

「@html.Raw(model=>model.content)」を使用する必要があります

于 2013-03-05T05:53:40.617 に答える