Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/30.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在MVC5中更新模型_Javascript_Asp.net_Asp.net Mvc_Asp.net Mvc Partialview - Fatal编程技术网

Javascript 如何在MVC5中更新模型

Javascript 如何在MVC5中更新模型,javascript,asp.net,asp.net-mvc,asp.net-mvc-partialview,Javascript,Asp.net,Asp.net Mvc,Asp.net Mvc Partialview,我的MVC 5应用程序中有一个降价编辑器。下面是代码: <script type="text/javascript"> var executivesummary = new tui.Editor({ el: document.querySelector('#Recommendation'), previewStyle: 'vertical'}) 我在模型中有一个带有get和set的字段,我想将这个值“contents”更新到模型中。如何执行此操作?您需要在控制器中调用操作方法来更新

我的MVC 5应用程序中有一个降价编辑器。下面是代码:

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

我在模型中有一个带有get和set的字段,我想将这个值“contents”更新到模型中。如何执行此操作?

您需要在控制器中调用操作方法来更新模型。然后,您可以使用Ajax(或使用Ajax.BeginForm)重新加载视图(或部分视图)

一些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.begin的一些示例:

@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>
}
当然,您的模型需要适合您创建的json


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

您的意思是要将值保存到服务器/数据库?或者只想在HTML页面中更新它而不保存?还不完全清楚。将其保存到“模型”没有多大意义-模型类是一个短暂的对象,它的存在只是为了将数据从控制器传输到视图,然后再传输回来。它是用来发送数据的结构,而不是数据的目的地。无论哪种方式,这都是一项常见的任务,有许多可能的解决方案,而且可能已经有很多关于这个主题的在线内容。你已经研究或尝试了什么?@ADyson Yep!我想将“contents”中包含的值更新到数据库。而在其他情况下,我会使用如下Html帮助程序
@Html.TextAreaFor(model=>model.WORecommendation,new{htmlAttributes=new{@class=“form control”}})
。有办法更新数据库吗?可能我需要发出ajax请求并将
内容的值传递给服务器recommendation@ADyson非常感谢。
@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>
}
[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);
    }
}