2015-04-12 66 views
0

我有嵌套列表对象中的图: mainlist 利斯塔 数组listB ListCASP MVC 5 selectedrow联webGrids

在视图中。基本上,在控制器中,使用利斯塔

数据I具有与其他对象作为成员

我创建的WebGrid(GRID1)的对象我想基于在所选择的行,以创建条件的WebGrid(GRID2) GRID1,动态地(例如,GRID1选择行改变时GRID2内容的变化)

我试过的东西基科这

@{ 
    if(grid1.HasSelection){ 
    var aVar = grid1.SelectedRow["aColumn"] 
    grid2Rows = from g in mainlist.ListB 
       where g.aColumn == aVar 
       select g; 
    //build webgrid2 here 
    . 
    . 
    } 
} 

但击发不会发生。当页面出现时,grid1中没有选择任何内容,因此if条件被绕过。

有没有办法让选定行点火事件?

回答

0

你的Razor视图在服务器上一次呈现。您是否将grid1中选定的值发布回服务器?如果不是,那么视图将不会被重新渲染。

有解决此类问题的两种常用的方法。

可以渲染视图中的所有可能的值,并使用JavaScript的OnChange事件GRID1显示和隐藏值,也可以使一个AJAX调用返回到服务器,并返回一个局部视图。

+0

嗨...谢谢。我将使用第二个建议“或者您可以将AJAX调用回服务器并返回部分视图。”我感谢您的帮助。 – jscriptor