重用kendo网格但改变行动

时间:2014-07-24 22:50:02

标签: asp.net-mvc kendo-ui kendo-grid kendo-asp.net-mvc

我试图通过在另一个视图上调用它作为局部视图来重用MVC上的Kendo Grid。网格的Ajax属性的Read属性设置为以下某种方法:

@(Html.Kendo().Grid<MyModel>()
.Ajax()
.Read( read => read.Action("MyMethod", "MyController").Data("getData")))

但是,我希望当从另一个视图调用此网格时,它会将“MyMethod”更改为“SomeOtherMethod”,将“MyController”更改为“SomeOtherController”。我怎样才能做到这一点? 谢谢!

1 个答案:

答案 0 :(得分:1)

我有一个解决方法,你想要实现的目标。请参阅以下内容:

  1. 在您尝试使用网格的所有视图中,设置TempData值:

    @{TempData["ViewPath"] = @Html.ViewVirtualPath()}
    
  2. 接下来,您需要创建一个通用主控读取控制器操作,该操作将根据上述tempdata值调用另一个控制器。所以在你的情况下,在一个视图中它将调用'MyMethod'的'MyController',而在其他视图中它将调用'SomeOtherController'的'SomeOtherMethod'。