javascript - 如何在 MVC 5 中更新模型

标签 javascript asp.net asp.net-mvc asp.net-mvc-partialview

我的 MVC 5 应用程序中有一个 Markdown 编辑器。代码如下:

<script type="text/javascript">
var executivesummary = new tui.Editor({
el: document.querySelector('#Recommendation'),
previewStyle: 'vertical'})

我有保存功能,可以像这样保存编辑器的内容

function saveContent(e) {
 var contents = Recommendation.GetValue();
 console.log(content)
 e.preventDefault();
                        }

我在模型中有一个带有获取和设置的字段,我想将这个值“内容”更新到模型中。如何做到这一点?

最佳答案

您需要调用 Controller 中的操作方法来更新模型。然后您可以使用 Ajax(或使用 Ajax.BeginForm)重新加载 View (或 View 的一部分)。

一些例子ajax调用:

$("#idToClickOn").click(function () {
    var contents = @Html.Raw(Json.Encode(Recommendation.GetValue()));
    $.ajax({
        url: 'https://@(Request.Url.Host)/Controller/Action',
        type: 'POST',
        dataType: 'json',
        data: contents,
        contentType: 'application/json; charset=utf-8',
        success: function (data) {
            alert(data);
        }
        error: function (data) {
            alert("error: " + data);
        }
    });
});

Ajax.BeginForm 的一些示例:

@using (Ajax.BeginForm("Action", new { Controller = "ControllerName", area = "" }, new AjaxOptions() { OnSuccess = "onSuccessLogin", HttpMethod = "POST", UpdateTargetId = "idInViewToUpdate"}, new { id = "formID" }))
{
    ...
    <div>
        @Html.Partial("Path to form body")                           
    </div>
    <button class="btn btn-primary btn-block">Save</button>
}

你的 Controller ,比如:

[HttpPost]
[ValidateAntiForgeryToken]
[HandleError]
public ActionResult Action(YourModel model)
{
    if (ModelState.IsValid)
    {
        do Something;
        return PartialView("Path to your view");
    }
    else
    {
        return PartialView("Path to your view", model);
    }
}

当然,您的模型需要适合您创建的 json。

在该操作中,您可以修改模型并重新加载 View 。

关于javascript - 如何在 MVC 5 中更新模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50696935/

相关文章:

javascript - 如何在键值过滤后从 JSON 追加

asp.net - 如何将 ASP.NET 应用程序部署到实时服务器?

c# - 如何在 asp.net mvc 中显示按浏览器类型查看?

c# - 转换自定义操作过滤器以供 Web API 使用?

javascript - 帮助解决 jQuery 函数过早执行的问题

javascript - 无法读取未定义的 Jquery/javascript 的属性 'top'

javascript - Django 和 d3.js : CSV data

asp.net - ASP.NET 4 中是否可以默认打开 HTML 编码?

asp.net - Facebook 游戏开发 - .NET - 哪种架构?

asp.net - mvc4 或 html 5 中的文件输入过滤器?