[英]how to handle errors using try catch in a dropdownlist inside a detailsview
[英]How to handle SelectedIndexOutOfRange using try and catch?
我在Asp.net中有一个gridview和一个删除按钮。 删除仅在从gridview中选择一行时才有效。 我想通过使其更加用户友好来防止网站崩溃。 因此,如果用户未选择行并按Delete键,它将通过标签通知他们。 它是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";
}
如果未选择任何行,则SelectedRow
为null
。 您还可以使用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";
}
您应该使用以下代码替换代码:
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";
}
尝试这个:
if(GridView.SelectedRow != null)
{
// proceed with your action
}
else
{
Label5.Text = "Oops, please select a row";
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.