其他分享
首页 > 其他分享> > 局部视图不断显示相同的内容

局部视图不断显示相同的内容

作者:互联网

我目前正在创建MVC应用程序,它基本上只是一个用于数据库内容的大型CRUD工具.
对于用于限制某些选择(国家,类别等之类的小型表)的我创建了1个页面,该页面可加载请求的表并允许用户仅使用Ajax调用来添加/删除/编辑属性.

加载页面后,用户将获得一个包含所有表名的下拉列表.提交后,将触发以下代码:

public PartialViewResult OpenConfig(string SelectID)
{
    using (DBconnection db = new DBconnection())
    {
        switch (SelectID)
        {
            case "---":
                return null;
            case "1":
                var countries = (from x in db.tbl_CountriesSet select x).ToList();
                return PartialView("Countries", countries);
            case "2":
                var supplierstatus = (from x in db.tbl_SupplierStatusSet select x).ToList();
                return PartialView("Supplierstatus", supplierstatus);
            case "3": .....
        }
    }
}

这就是有趣的地方.假设我打开“国家”窗口,它正确加载,就可以添加/编辑/删除国家.这些条目使用jQuery在页面上更新,并同时使用Ajax调用来更新数据库.两者都工作正常,数据库和页面均已更新.我可以继续工作,所有更改都将同时反映在页面和数据库中,重新加载部分视图时问题就开始了.

当我在下拉列表中选择“国家/地区”值并再次提交时,程序将跳过上面显示的方法,并显示与我第一次请求该列表时显示给我的局部视图相同的局部视图.
我在方法中设置了一个断点,如果我加载了在触发之前尚未加载的内容,但没有加载我已经请求的页面.
在Firefox中,此方法有效,并且部分视图已更新(并触发了断点),但是在Internet Explorer中,我的控制器被完全忽略并且它始终显示同一页面(即使当我转到一个完全不同的页面然后返回时)到设置页面).

谁能告诉我如何告诉IE显式重新加载包含当前数据库内容的部分视图?

解决方法:

它是浏览器缓存的作品.它返回您缓存的结果.

使用向网址添加当前日期值以允许从Web服务器加载新结果:

$('#container').load("http://mysite/myview/?" + new Date().getTime(), function () { });

标签:asp-net-mvc-partialview,internet-explorer,c,asp-net-mvc
来源: https://codeday.me/bug/20191202/2085542.html