Jquery MVC Razor Ajax.BeginForm OnSuccess期间更新元素

Jquery MVC Razor Ajax.BeginForm OnSuccess期间更新元素,jquery,ajax,asp.net-mvc,razor,Jquery,Ajax,Asp.net Mvc,Razor,在我的MVC搜索表单上,我有一个带有“-”和“+”按钮的日期字段,可以移动到前一天和第二天,每次都执行搜索 我的问题是,当按下-/+按钮时,它会将当前表单传递给控制器,包括日期框中的日期,然后控制器按照其指示执行,并根据需要减去/添加日期,然后执行搜索 但是,当Ajax请求完成时,原始日期仍在文本框中,因此当再次按下-/+时,其仍与原始日期相同 我需要做的是用控制器更新的日期更新文本框,但我不知道如何更新 我已经查看了“OnSuccess”事件,但似乎无法将Ajax调用的响应传递给它,然后使用j

在我的MVC搜索表单上,我有一个带有“-”和“+”按钮的日期字段,可以移动到前一天和第二天,每次都执行搜索

我的问题是,当按下-/+按钮时,它会将当前表单传递给控制器,包括日期框中的日期,然后控制器按照其指示执行,并根据需要减去/添加日期,然后执行搜索

但是,当Ajax请求完成时,原始日期仍在文本框中,因此当再次按下-/+时,其仍与原始日期相同

我需要做的是用控制器更新的日期更新文本框,但我不知道如何更新

我已经查看了“OnSuccess”事件,但似乎无法将Ajax调用的响应传递给它,然后使用jQuery更新搜索部分

@using (Ajax.BeginForm("Search", new AjaxOptions() { InsertionMode = InsertionMode.Replace, UpdateTargetId = "results", OnBegin = "$('#btnSubmit').button('loading');", OnSuccess = "FormLoaded()" }))
{
    <input type="submit" value="<" class="btn btn-danger" id="btnPrev" style="width: 30px; padding-left: 2px; padding-right: 2px" name="ScrollButton" />
    @Html.EditorFor(model => model.Date, new { htmlAttributes = new { @class = "form-control datepicker", @style = "width: 100px; display: inline" } })
    <input type="submit" value=">" class="btn btn-danger" id="btnNext" style="width: 30px; padding-left: 2px; padding-right: 2px" name="ScrollButton" />    

    <div id="results">

    ... Results appear here when search is executed ...

    </div>
}


<script type="text/javascript">
    function FormLoaded(ajaxResponse) {
        $('#btnSubmit').button('reset');

        // ...Do something else with the ajaxResponse....

    }
</script>
@使用(Ajax.BeginForm(“Search”,new AjaxOptions(){InsertionMode=InsertionMode.Replace,UpdateTargetId=“results”,OnBegin=“$”(“#btnSubmit”)。按钮('loading');”,OnSuccess=“FormLoaded()”)
{
@EditorFor(model=>model.Date,new{htmlAttributes=new{@class=“form control datepicker”,@style=“width:100px;display:inline”})
…执行搜索时,结果显示在此处。。。
}
函数FormLoaded(ajaxResponse){
$('btnSubmit')。按钮('reset');
//…用ajaxResponse做些其他事情。。。。
}
{ }


从OnSuccess中删除()。

好吧,这样做会有所帮助,但不完全。。。ajaxResponse似乎是一个html片段,而不是模型的实例。是否要从控制器操作和更新中获取数据?你能把你的控制器代码粘贴在这里吗。。。你说得有道理。。。。它正在返回一个局部视图。。。显然不是模特。这是电话里的回应。的确。。。。因此需要返回模型,然后使用“OnSuccess”用局部视图更新DIV
@using (Ajax.BeginForm("Search", new AjaxOptions() { InsertionMode = InsertionMode.Replace, UpdateTargetId = "results", OnBegin = "$('#btnSubmit').button('loading');", OnSuccess = "FormLoaded" }))