在GridPanel Ext.Net(ASP.Net)上选中多个复选框

在GridPanel Ext.Net(ASP.Net)上选中多个复选框,asp.net,checkbox,ext.net,gridpanel,Asp.net,Checkbox,Ext.net,Gridpanel,如何使用ASP.net上的ext.net库在GridPanel上选择行。 当我将此代码放在Page_Load事件上时,工作正常: protected void Page_Load(object sender, EventArgs e) { RowSelectionModel sm = gridRolesPermission.GetSelectionModel() as RowSelectionModel; sm.SelectedRows.Add(new S

如何使用ASP.net上的ext.net库在GridPanel上选择行。 当我将此代码放在Page_Load事件上时,工作正常:

  protected void Page_Load(object sender, EventArgs e)
    {
      RowSelectionModel sm = gridRolesPermission.GetSelectionModel() as RowSelectionModel;
        sm.SelectedRows.Add(new SelectedRow(1));
        sm.SelectedRows.Add(new SelectedRow(2));
    }
但当我想在Ajax事件上选择复选框时,它不起作用

  [DirectMethod]
        public void FillPermissionForSelectedRole()
        {
        RowSelectionModel sm = gridRolesPermission.GetSelectionModel() as RowSelectionModel;
        sm.SelectedRows.Add(new SelectedRow(1));
        sm.SelectedRows.Add(new SelectedRow(2));
        }
查看:

....
<Listeners>
<Command Handler="App.direct.FillPermissionForSelectedRole();" />
</Listeners>
...
。。。。
...

请帮忙

在您的示例中,当您单击按钮(directMethod按钮)时,会向服务器发送一个名为
CheckboxSelectionModel1
的PamateCollection。在服务器端,您可以像这样获取此参数集合

string hh= HttpContext.Current.Request["CheckboxSelectionModel1"];
*CheckboxSelectionModel1是示例中网格的模型名称

你的情况是这样的

[DirectMethod]
        public void FillPermissionForSelectedRole()
        {
 string hh= HttpContext.Current.Request["CheckboxSelectionModel1"];

        }
字符串hh应该是这样的,这取决于您在网格上检查的内容

"[{"RecordID":5,"RowIndex":5},{"RecordID":7,"RowIndex":7},{"RecordID":3,"RowIndex":3}]"
稍后,您可以对该字符串进行去序列化,并获得类似以下内容的RecordID

    var rw = JSON.Deserialize<Row[]>(hh);
    string txt = "";
    foreach (var item in rw)
    {
        txt += item.RecordID;
    }

为了解决这个问题,我应该将这一行添加到upadate修改中:

sm.UpdateSelection();
sm.UpdateSelection();