C# 如何处理位置无行错误消息
我得到一个错误: 位置4没有行 这意味着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;
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)
{
//向用户显示正确的消息
}
否则如果(单击计数