OnPageIndexChanged与OnItemCommand发生冲突

时间:2009-10-28 10:17:33

标签: c# asp.net datagrid

我遇到了两个事件相互冲突的轻微问题。

我有一个显示链接按钮的列,因此当用户点击它时,它会将它们引导到显示数据网格特定行中​​的数据的另一个页面。

在datagrid下面,我有数字页面,恰好也是一个链接按钮,当用户点击第2页时,它会显示数据网格的第2页数据。

现在的问题是,当我想点击第2页时,它会重定向到下一页,这是我的ItemCommand事件。

有什么方法可以让datagrid区分,这是正确的链接按钮,

这样他们俩都不会互相冲突?

protected void RPYGrid_ItemSelect(object sender,DataGridCommandEventArgs e)     {         DataSet dsGenRequestPayment = new DataSet();         dsGenRequestPayment = GenerateRequestPayment();         DataTable dtRequest = new DataTable();         dtRequest = dsGenRequestPayment.Tables [0];

    if (((LinkButton)e.CommandSource).CommandName == "ItemSelect")
    {
        try
        {
            int iIndex = e.Item.DataSetIndex;
            string sId = RPYGrid.DataKeys[iIndex].ToString();

            foreach (DataRow drRequest in dtRequest.Rows)
            {
                string sRequestID = drRequest["RequestNo"].ToString();

                if (sId == sRequestID)
                {
                    sRequestNo = drRequest["RequestNo"].ToString();
                    sAmount = drRequest["RequestAmt"].ToString();
                    sAttachment = drRequest["FilePath"].ToString();
                    sReqCompanyID = drRequest["RequestCompanyID"].ToString();
                    sPayCompanyID = drRequest["PayerCompanyID"].ToString();
                    sReqCoName = drRequest["RequestCoName"].ToString();
                    sPayCoName = drRequest["PayerCoName"].ToString();
                    sRequestDate = drRequest["RequestDt"].ToString();
                }
            }
            dtRequest.Clear();
            dsGenRequestPayment.Clear();
        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.Message.ToString());
        }

    }
}

protected void RPYGrid_PageIndexChanged(object sender, DataGridPageChangedEventArgs e)
{
    RPYGrid.CurrentPageIndex = e.NewPageIndex;
    GenerateRequestData();
}

1 个答案:

答案 0 :(得分:2)

在链接按钮中使用不同的命令名称是否还会发生这种情况? 我想我不太了解你的问题

这是你想要做的吗?

 Select Case (CType(e.CommandSource, LinkButton)).CommandName
            Case "paging"
               'dopaging
            case "redirect"
               'doredirect

            Case Else
  End Select