Jquery 如何在MVC控制器中从LineControl编辑器中获取textarea值?

Jquery 如何在MVC控制器中从LineControl编辑器中获取textarea值?,jquery,asp.net-mvc-5,Jquery,Asp.net Mvc 5,我正在使用它在我的MVC5项目中创建所见即所得文本编辑器 我在一个视图中创建了一个文本区域,我想在其中显示文本编辑器 问题是,我无法正确绑定或获取发布到控制器后输入到wysiwyg文本编辑器中的文本值 @using (Html.BeginForm("Details", "Pages", FormMethod.Post, new { @class = "form-horizontal", role = "form", id = "pageForm" })) { @Html.AntiForg

我正在使用它在我的MVC5项目中创建所见即所得文本编辑器

我在一个视图中创建了一个文本区域,我想在其中显示文本编辑器

问题是,我无法正确绑定或获取发布到控制器后输入到wysiwyg文本编辑器中的文本值

@using (Html.BeginForm("Details", "Pages", FormMethod.Post, new { @class = "form-horizontal", role = "form", id = "pageForm" }))
{
    @Html.AntiForgeryToken()
<div>
    <h4>Page</h4>
    <hr />

    <dl class="dl-horizontal">
        <dt>
            @Html.DisplayNameFor(model => model.PagesID)
        </dt>

        <dd>
            @Html.DisplayFor(model => model.PagesID)
        </dd>

        <dt>
            @Html.DisplayNameFor(model => model.Body)
        </dt>

        <dd>
            @Html.TextAreaFor(model => model.Body)
        </dd>
    </dl>
</div>
    <input type="submit" class="btn" value="Update" name="command" />
}
视图模型:

public class PageModel
{
    public int PagesID { get; set; }
    [AllowHtml]
    public string Body { get; set; }

}

我假设控件通过样式将div的内容格式化为html,并将其作为html插入到数据库中。我看不到任何关于服务器端应该接收什么的文档,所以我假设它是html文本。但这似乎很危险,因为您将插入用户发布的任何html,而无需进行消毒

无论如何,你可以使用

$.post('/Home/Details', { PagesID: 1, Body: $('#Body').html() }, function(response) {
    //On complete
})
在控制器上接收

public ActionResult Details(PageModel page)
{
}
并将ActionResult、JsonResult等作为返回类型

编辑:

不要使用文本区域。该示例显示了一个div

<div id="Body"></div>


@Html.TextAreaForm=>m.Body创建了一个id=Body的textarea,但是您的脚本引用了一个id=textEditor的元素?我的意思是键入:$document.readyfunction{$Body.Editor;};谢谢同样的问题仍然存在使用正确的代码更新您的问题:谢谢tic-我必须坚持使用Html.BeginForm方法-我更新了此问题以反映表单的外观。
public ActionResult Details(PageModel page)
{
}
<div id="Body"></div>
$('#Body').html();
$('#Body').val();