【问题标题】:How to handle SelectedIndexOutOfRange using try and catch?如何使用 try 和 catch 处理 Selected IndexOutOfRange?
【发布时间】:2013-04-27 19:30:29
【问题描述】:

我在 Asp.net 中有一个网格视图和一个删除按钮。仅当从 gridview 中选择一行时,删除才会起作用。我想通过使其更加用户友好来防止网站崩溃。因此,如果用户没有选择一行并按删除,它将通过标签通知他们。是 SelectedVlue 还是 SelectedRow

这是我尝试的:

if (GridView1.SelectedValue == null)
        {

            int i = GridView1.SelectedIndex;
            myDataSet.Tables["Records"].Rows[i].Delete();

            GridView1.DataSource = myDataSet;
            GridView1.DataBind();
        }
        else
        {
            Label5.Text = "Oops, please select a row";
        }

【问题讨论】:

    标签: asp.net visual-studio-2010 gridview exception-handling datagridview


    【解决方案1】:

    当没有选择行时,SelectedRownull。您也可以使用SelectedIndex != -1。但是您正在检查 == null 而不是 != null 无论如何是什么错误的逻辑。

    if (GridView1.SelectedRow != null)
    {
        // ...
    }
    else
    {
        Label5.Text = "Oops, please select a row";
    }
    

    if (GridView1.SelectedIndex != -1)
    {
        // ...
    }
    else
    {
        Label5.Text = "Oops, please select a row";
    }
    

    【讨论】:

    • 哦,是的,我是。但是您必须等待一定的时间才能接受答案不要担心:)
    • 你回答的太快了,stackoverflow不喜欢哈哈
    【解决方案2】:

    你应该用这个替换你的代码:

            if (GridView1.SelectedRow != null && GridView1.SelectedIndex != -1)
            {
                int i = GridView1.SelectedIndex;
                myDataSet.Tables["Records"].Rows[i].Delete();
    
                GridView1.DataSource = myDataSet;
                GridView1.DataBind();
            }
            else
            {
                Label5.Text = "Oops, please select a row";
            }
    

    【讨论】:

      【解决方案3】:

      试试这个:

      if(GridView.SelectedRow != null)
      {
          // proceed with your action
      }
      else
      {    
          Label5.Text = "Oops, please select a row";
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-05-04
        • 2011-04-01
        • 2012-04-20
        相关资源
        最近更新 更多