İşte senaryo. Bir form üzerinde zengin bir metin alanı için CKEditor kullanmak istiyorum, ancak herhangi bir nedenle ben textarea içeriğini sunucuya ve kodlama sorunları olmadan sayfaya geri alamıyorum. Burada neler olup bittiğini anlamaya çalışmak için yazdığım küçük örnek program. Birincisi, benim bakış modeli:Neden ASP.NET MVC 3'te HtmlDecode yapamıyorum
HomeViewModel.cs
namespace CkEditorTest.Models
{
public class HomeViewModel
{
[Required]
[DataType(DataType.Html)]
[Display(Name = "Note")]
public string Note { get; set; }
}
}
Şimdi benim denetleyicisi:
HomeController.cs
using System.Web.Mvc;
using CkEditorTest.Models;
namespace CkEditorTest.Controllers
{
public class HomeController : Controller
{
public ActionResult Index()
{
return View(new HomeViewModel());
}
[HttpPost]
[ValidateInput(false)]
public ActionResult Index(HomeViewModel model)
{
return View(model);
}
}
}
Ve nihayet, benim görünümü:
Index.cshtml
@model CkEditorTest.Models.HomeViewModel
@{
ViewBag.Title = "CKEditor Test";
}
@section head
{
<script type="text/javascript" src="@Url.Content("~/Scripts/ckeditor/ckeditor.js")"></script>
<script type="text/javascript" src="@Url.Content("~/Scripts/ckeditor/adapters/jquery.js")"></script>
<script type="text/javascript">
$(document).ready(function() {
$("#Note").ckeditor();
});
</script>
}
<h2>CKEditor Test</h2>
@using (Html.BeginForm())
{
@Html.LabelFor(m => m.Note)<br /><br />
@Html.TextAreaFor(m => m.Note)<br />
<input type="submit" />
}
@if (!String.IsNullOrEmpty(Model.Note))
{
<div id="noteText">@Model.Note</div>
}
olursa olsun benim yaptığım, benim görünümünde html olarak Model.Note özelliği gösteremez. Görünüşe ulaştığında, HTML kodlanmış (yani <p> vs ...). İşte formu öncesi sonrası neye benzediği: Ben kurdum
post result http://www.matthewkimber.com/images/so/posted.png
: Burada
pre-post http://www.matthewkimber.com/images/so/pre-post.png
Ve sonuç "Gönder" düğmesine altında div budur Visual Studio içinde bir kesme noktası ve çıplak açılı ayraçlar (HTML öğelerinde kodlama yok, yalnızca karakterler) olarak gösterir.
breakpoint results http://www.matthewkimber.com/images/so/dataInsideTheActionMethod.png
Bu
, tabii ki, tam olmayan bir testtir. Ben görünümünde ve boşuna denetleyici hem Çözümün, bunu kodlayan denedim. Yardımınız için çok minnettarım! Teşekkürler!
Ayrıca http://davidhayden.com/blog/dave/archive/2010/12/27/HtmlRawRazorViewEngine bakın. aspx – JTew
Eh, olacağım. Teşekkürler! – Mateo
İyi biri. Metot metodunda yanlış isim, bulmak için har. Sen aramaya sanmıyorum "ham" –