ZEN*_*NIT 8 asp.net-mvc-4 kendo-ui
我在MVC4应用程序中使用ASP.NET MVC Wrapper.
除了一个特定问题之外,一切正常:我为Kendo UI Grid定义了一个数据源,当视图加载时,正在按预期调用读取操作.
但是,当页面重新加载时,"读取"请求获得304结果的响应.
如何通过数据源配置禁用缓存?
dpb*_*dpb 14
您可以将Kendo dataSource中的'cache'属性设置为false,这显然(注意:我没有测试过)将强制在每个请求上新获取所请求的页面.
将cache设置为false会在请求中附加"_ = [TIMESTAMP]"参数,如果需要,可以在服务器/控制器端解析该参数以避免服务器端缓存操作.
另请注意,您可以为每个Kendo传输操作指定缓存行为(即,它可以处于CRUD操作级别或整个传输级别).
见这里:http://docs.kendoui.com/api/framework/datasource#configuration-transport.read.cache-Boolean
码:
transport: {
read: {
cache: false
}
}
Run Code Online (Sandbox Code Playgroud)
您可以尝试装饰服务器端控制器的操作,以加载视图
[OutputCache(Duration = 0, NoStore = true)]
Run Code Online (Sandbox Code Playgroud)
属性,例如
public class OrdersController : Controller
{
[httpGet]
[OutputCache(NoStore = true, Duration = 0)]
public ActionResult Orders(string userId)
{
// your code
return View(viewModel);
}
}
Run Code Online (Sandbox Code Playgroud)
NoStore-一个布尔值,该值确定是否防止敏感信息的二次存储
Duration-页面或用户控件的缓存时间(以秒为单位)。在页面或用户控件上设置此属性可建立来自对象的HTTP响应的过期策略,并将自动缓存页面或用户控件的输出。
无法通过数据源配置进行控制器。您必须将属性应用于控制器上的 Read 方法以防止缓存。
另一种方法是将 [HttpPost] 属性应用于您的控制器方法。然后将数据源配置为不使用 GET 方法,在这种情况下,它将默认使用 POST 方法。
| 归档时间: |
|
| 查看次数: |
19375 次 |
| 最近记录: |