我的 MVC 5 应用程序中有一个 Razor 视图,它在点击时调用 5 个 JavaScript 函数。
在 5 个 JavaScript 函数中的每一个中,都有一个对我的 MVC 控制器中关联方法的 AJAX 调用,每个函数都返回 JSON 数据。
所以...
JavaScript
$(document).ready(function () {
LoadData1();
LoadData2();
LoadData3();
LoadData4();
LoadData5();
function LoadData1()
{
$.ajax({
type: 'GET',
url: '/MyController/GetData1/',
//Rest of code});
}
//Rest of LoadData methods
});
控制器
[HttpGet]
public ContentResult GetData1()
{
var query = _myService.GetData();
//Rest of code
}
[HttpGet]
public ContentResult GetData2()
{
var query = _myService.GetData();
//Rest of code
}
//Rest of controller methods GetData3 etc...
但是,上述方法有效,在 5 个控制器方法(GetData1、GetData2 等)var query = _myService.GetData()中的每一个中,查询 ( ) 在每个方法中都被调用,因此,将返回相同的数据集。我的问题是,我不想在 5 个 Controller 方法中的每一个中都调用相同的查询五次。每个 Controller 方法对返回的查询数据的处理方式非常不同,因此,每个方法仍然需要存在。
但是,有什么方法可以var query = _myService.GetData()在控制器中的某个地方为每个 HttpRequest调用一次查询 ( ),然后将返回的数据传递给需要它的每个控制器方法?
这将大大提高代码的可重用性以及最终用户的性能。
我以前从未做过这样的事情,我不确定我(试图)描述的内容是否可能?
我真的很感激任何帮助。
谢谢你。
素胚勾勒不出你
慕的地10843
相关分类