Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何处理位置无行错误消息_C#_Asp.net_If Statement - Fatal编程技术网

C# 如何处理位置无行错误消息

C# 如何处理位置无行错误消息,c#,asp.net,if-statement,C#,Asp.net,If Statement,我得到一个错误: 位置4没有行 这意味着DataTable没有指定的行号 以下是一个例子: protected void btnNext_Click1(object sender, EventArgs e) { if (Session["ClickCount"] == null) Session["ClickCount"] = 0; int ClickCount = Convert.ToInt32(Session["ClickCount"]) + 1;

我得到一个错误:

位置4没有行

这意味着
DataTable
没有指定的行号

以下是一个例子:

protected void btnNext_Click1(object sender, EventArgs e)
{
    if (Session["ClickCount"] == null)
        Session["ClickCount"] = 0;

    int ClickCount = Convert.ToInt32(Session["ClickCount"]) + 1;
    Session["ClickCount"] = ClickCount;

    DAL.TicketsDataSetTableAdapters.TicketDetailsTableAdapter eobj = new DAL.TicketsDataSetTableAdapters.TicketDetailsTableAdapter();
    DataTable dt = new DataTable();
    dt = eobj.GetTicketUpdates(txtSupportRef.Text);

    if (ClickCount > dt.Rows.Count)
    {
        // HOW DO WE HANDLE THE ERROR?
    }
    txtNextStep.Text = dt.Rows[ClickCount - 1]["NextStep"].ToString();
}
我的
数据表中有3行
,如果再次单击该按钮,将显示上面的错误消息

处理此错误消息的最佳方法是什么

我是否应该退出
if语句
,然后向用户显示一条消息

您可以禁用
btnNext
按钮:

if (ClickCount > dt.Rows.Count)
{
    btnNext.Enabled= false;
    // Also with a message
}
else
{
    btnNext.Enabled= true;
    txtNextStep.Text = dt.Rows[ClickCount - 1]["NextStep"].ToString();
}

您正在使用
if(ClickCount>dt.Rows.Count)
检查
ClickCount
,但要访问循环外部的值,请按如下方式使用:

if (ClickCount < dt.Rows.Count)
    {
       txtNextStep.Text = dt.Rows[ClickCount - 1]["NextStep"].ToString();
    }
   else{btnNext.Enabled=false;}
if(单击计数
在使用“Clickcount”之前进行适当的检查

if (ClickCount > dt.Rows.Count)
{
    // show a proper message to user
}
else if (ClickCount < dt.Rows.Count)
{
    //
}
else
{
    //
}
if(单击计数>dt.Rows.Count)
{
//向用户显示正确的消息
}
否则如果(单击计数