浏览器缓存导致的吧。
这个是使用AJAX的一个弊端,本身浏览器在访问的时候,就容易因为缓存而不刷新,而使用AJAX时表现更甚。
你可以在地址里增加一些参数,让浏览器强行的去服务器取数据。
有道理 但是我试了下,后面加了时间参数,可是还没不能刷新。。。 不知怎样才能强行去取。。
@Ajax.ActionLink(Update Status", "GetStatus","Home", new { hid_DelNo = "1", date = DateTime.Now }, newAjaxOptions
{
UpdateTargetId ="status1",
HttpMethod ="get",
InsertionMode =InsertionMode.Replace
})
@Mike Mao: 查看下输出的地址。
如果把时间戳放置在URL地址里而不是放置在GET参数里呢 ?
@笨笨蜗牛: Link的地址确实是静态的。。。 但是小弟不知怎么在Ajax.ActionLink 另加Url? 求大鸟开解
@Mike Mao: "GetStatus"这里增加个信息,如:"GetStatus/时间戳",然后再路由表里做个特殊解析就好。
@笨笨蜗牛:
还是涛声依旧。。。 点第一次能刷新时间,但是后面的LinkText仍旧是死的。。所以不能刷新了,难道这个还需要Js来更新下。。
@Ajax.ActionLink("Update Status", @"GetStatus/" + DateTime.Now.ToLongTimeString().Replace(" ", "").Replace(":", ""), "Home", new
AjaxOptions{HttpMethod ="get",
InsertionMode =InsertionMode.Replace,
UpdateTargetId ="status1"
})
<spanid="status1">No Status</span>
路由是:
routes.MapRoute(
"Home",
"Home/GetStatus/{id}",
new { controller = "Home", action = "GetStatus" ,id =UrlParameter.Optional}
);
@Mike Mao: 这个就不清楚了,用这个比较少,需要分析输出的 hamtl代码才能确定。
肯定是UpdateTargetId没有了,你看看返回的部分HTML中有没有包含UpdateTargetId
断点到Controller层的 GetStatus的方法,看看每次点击是否执行了该方法