【问题标题】:reuse kendo grid but change action重用剑道网格但改变动作
【发布时间】:2014-07-24 22:50:01
【问题描述】:

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

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

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

【问题讨论】:

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


    【解决方案1】:

    对于您要实现的目标,我有一个解决方法。请看下面:

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

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

    【讨论】:

    • 谢谢,虽然有一些限制,但我无法实现 @Html.ViewVirtualPath() 所以我只是将任何参数发送到 TempData。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多