4

我有一个带有提交表单的视图:当我单击它时,会调用一个 jquery/ajax 函数。此函数必须对 View Model 进行编码,调用 Controller 操作并显示返回的 View。现在,这是我的功能:

<script type="text/javascript">
function Analyze() {
    var urlact = '@Url.Action("Analysis")';
    var model = '@Html.Raw(Json.Encode(Model))';
    $.ajax({
        data: model,
        type: "POST",
        url: urlact,
        dataType: "json",
        contentType: "application/json; charset=utf-8",
        success: function (data) {
            //WHAT HERE??
        }
    });
}
</script>

分析动作是一种

public ViewResult Analysis(IEnumerable<Azienda> aziende) {
        Debug.WriteLine(aziende.Count());
        return View(aziende);
    }

返回视图!如何在成功时显示该视图:函数(数据)?我尝试将 dataType 更改为html并调用成功警报(数据),但我遇到了编码模型的问题,我尝试评论 contentType 行但同样的模型编码问题。

有人知道该怎么做吗?js/query/ajax 变通方法也很好。

谢谢大家!

4

2 回答 2

0

创建一个以 aziende 作为其模型的单独的局部视图,并在您的分析操作中返回它,然后将结果附加到您视图中的 div 中:

//action returning a partial view
public ActionResult Analysis(IEnumerable<Azienda> aziende) 
{
    Debug.WriteLine(aziende.Count());
    return PartialView("_partialView", aziende);
}

//then append the result to a div in your javascript
success: function (data) {
    $("#some-div").html(data); 
}
于 2013-12-12T11:28:10.073 回答
0

利用

return PartialView()

代替

return View()

在您的控制器中。然后在 ajax 调用的成功函数中,使用 jQuery .html() 函数更新您希望在 html 中更新的元素。请参阅Query.html()View() 与 PartialView()

于 2013-11-22T11:06:06.090 回答