다음은 시나리오입니다. 양식의 서식있는 텍스트 필드에 CKEditor을 사용하고 싶지만 어떤 이유에서든 텍스트 영역에서 서버로 내용을 가져올 수없고 인코딩 문제없이 페이지로 돌아갈 수 없습니다. 다음은 내가 진행하고있는 일을 파악하기 위해 작성한 작은 샘플 프로그램입니다. 첫째, 내보기 모델 :ASP.NET MVC 3에서 HtmlDecode를 사용할 수없는 이유
HomeViewModel.cs
namespace CkEditorTest.Models
{
public class HomeViewModel
{
[Required]
[DataType(DataType.Html)]
[Display(Name = "Note")]
public string Note { get; set; }
}
}
지금 내 컨트롤러 :
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);
}
}
}
그리고 마지막으로, 내보기 :
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>
}
는 상관없이 내가 뭘, 내가보기에 HTML로 Model.Note 속성을 표시 할 수 없습니다. 보기에 도달하면 HTML로 인코딩됩니다 (즉, <p> 등). 여기에 양식을 미리 후 모습입니다 : 내가 설정 한
post result http://www.matthewkimber.com/images/so/posted.png
: 여기
pre-post http://www.matthewkimber.com/images/so/pre-post.png
그리고하는 결과가 "제출"버튼 아래에 사업부에 무엇인가 비주얼 스튜디오 내에서 중단 점과 그것은 벌어 꺽쇠 괄호 (HTML 요소에 인코딩, 그냥 문자)로 표시됩니다.
breakpoint results http://www.matthewkimber.com/images/so/dataInsideTheActionMethod.png
이
은 물론, 벗었 테스트입니다. 나는 그것을 인코딩 해 보았는데, 뷰와 컨트롤러 모두에서 아무 쓸모가 없다. 당신의 도움은 대단히 감사합니다! 감사!
는 또한 http://davidhayden.com/blog/dave/archive/2010/12/27/HtmlRawRazorViewEngine를 참조하십시오. aspx – JTew
글쎄, 내가있을거야. 감사! – Mateo
좋습니다. 방법에 대한 나쁜 이름은 찾을 수 없습니다. 당신은 "날것"을 찾지 않을 것이라고 생각합니다. –