0

SelectedDataKeyがまだ選択されていないため、このコードはNullReferenceExceptionを返します。DataKeyが選択されているかどうかを確認するにはどうすればよいですか。

    protected void grdRoles_RowDataBound1(object sender, GridViewRowEventArgs e) 
    {
       if (e.Row.RowType == DataControlRowType.DataRow) 
       { 
          CheckBox chk = (CheckBox)e.Row.FindControl("chkRole"); 
          int rolecode = Convert.ToInt32(this.grdRoles.DataKeys[e.Row.RowIndex].Value);
          BusinessLayer.Customers checkRole = new BusinessLayer.Customers();                   

         bool check = checkRole.CheckRoles(this.grdCustomers.SelectedDataKey.Value.ToString(), rolecode); //this is triggering the nullReferenceException
         if (check)
         {
           chk.Checked = true;
         }                   
        }
4

1 に答える 1

0

別のイベントを使用する必要があります。databoundイベントは、データをビューにワイヤリングするためのものです。データがバインドされた後にデータを使用するイベントを探しています。ほとんどの場合、 SelectedIndexChangingイベントとSelectedIndexChangedイベント

于 2012-01-03T19:03:24.783 に答える