MVC Ajax编辑按钮从部分视图重新呈现其他部分视图

本文关键字:视图 新呈现 其他部 Ajax 编辑 编辑按 按钮 MVC | 更新日期: 2023-09-27 18:17:10

所以在我的主视图中有2个partial views:一个gridView和一个roundPanel

因此,当我的Gridview行中的"编辑"按钮被击中时,roundPannel应该更新行信息。

我的编辑按钮:

Ajax.ActionLink("Edit", "EditConfig", new { id = DataBinder.Eval(c.DataItem, "QueueMonitorConfigurationsID") }, new AjaxOptions { UpdateTargetId = "configs" })

它调用的函数:

[HttpGet]
public ActionResult EditConfig(int id)
{
    StorageConfigurationModel resultForPanel = new StorageConfigurationModel { };
    IEnumerable<StorageConfigurationModel> configList = (IEnumerable<StorageConfigurationModel>)Session["ConfigurationList"];
    foreach (StorageConfigurationModel configModel in configList)
    {
        if (configModel.QueueMonitorConfigurationsID == id)
        {
            resultForPanel = configModel;
            break;
        }
    }
    return PartialView("cbpnlNewUpdateConfigs", resultForPanel);
}

每次我点击"编辑",一个新的视图打开,当我只是想刷新roundPanel (partialview)。

MVC Ajax编辑按钮从部分视图重新呈现其他部分视图

我通过ajax调用来调用我的控制器

$.ajax({
    url: "@(Url.Action("Action", "Controller"))",
    type: "POST",
    cache: false,
    async: true,
    data: { data1: 'data1' },
    success: function (result) {
        $(".Content").html(result);
    }
});

这样做,我用从控制器返回的部分视图替换了div的内容。我不知道它是否会有所不同,但我的方法为部分视图我返回PartialViewResult而不是ActionResult。