因此,在 Visual Studio 2012 中工作时,我下载了 TinyMCE.MVC.JQuery 包并使用 NuGet 安装它。安装后,我按照本教程进行设置:
我的项目是 MVC3 并且已经存在,所以有轻微的改动。
这是我的控制器创建功能:
//
// GET: /Pages/Create
public ActionResult Create()
{
return View();
}
//
// POST: /Pages/Create
[HttpPost, ActionName("Create")]
public ActionResult Create(Database_Table database_table)
{
if (ModelState.IsValid)
{
db.Database_Table.Add(database_table);
db.SaveChanges();
return RedirectToAction("Index");
}
return View(database_table);
}
我的编辑:
//
// GET: /Pages/Edit/5
public ActionResult Edit(int id)
{
Database_Table database_table = db.Database_Table.Find(id);
return View(database_table);
}
//
// POST: /Pages/Edit/5
[HttpPost, ActionName("Edit")]
public ActionResult Edit(Database_Table database_table)
{
if (ModelState.IsValid)
{
db.Entry(database_table).State = EntityState.Modified;
db.SaveChanges();
return RedirectToAction("Index");
}
return View(database_table);
}
这是我的模型类:
public class Pages
{
public int PageID { get; set; }
public string PageURL { get; set; }
[UIHint("tinymce_jquery_full"), AllowHtml]
public string PageHTML { get; set; }
public class DatabaseContext : DbContext
{
public DbSet<Database_Table> Pages { get; set; }
}
}
这是编辑视图:
@using (Html.BeginForm()) {
@Html.ValidationSummary(true)
<fieldset>
<legend>Pages</legend>
<div class="editor-label">
@Html.LabelFor(model => model.PageURL)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.PageURL)
@Html.ValidationMessageFor(model => model.PageURL)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.PageHTML)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.PageHTML)
@Html.ValidationMessageFor(model => model.PageHTML)
</div>
<p>
<input type="submit" value="Save" />
</p>
_Layout.cshtml 中引用了这两个:
<script src="@Url.Content("~/Scripts/jquery-1.7.1.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/tinymce/jquery.tinymce.js")" type="text/javascript"></script>
抱歉,如果我很愚蠢,但是当我运行编辑页面时,所见即所得编辑器不显示,它只是一个标准文本框。谁能看到我的问题?