Asp.net 如何使用try-and-catch处理SelectedIndexOutOfRange?
我在Asp.net中有一个gridview和一个delete按钮。仅当从gridview中选择行时,“删除”才起作用。我想通过使网站更友好来防止网站崩溃。因此,如果用户没有选择行并按delete键,它将通过标签通知他们。是SelectedVlue还是SelectedRow 这就是我所尝试的:Asp.net 如何使用try-and-catch处理SelectedIndexOutOfRange?,asp.net,visual-studio-2010,gridview,exception-handling,datagridview,Asp.net,Visual Studio 2010,Gridview,Exception Handling,Datagridview,我在Asp.net中有一个gridview和一个delete按钮。仅当从gridview中选择行时,“删除”才起作用。我想通过使网站更友好来防止网站崩溃。因此,如果用户没有选择行并按delete键,它将通过标签通知他们。是SelectedVlue还是SelectedRow 这就是我所尝试的: if (GridView1.SelectedValue == null) { int i = GridView1.SelectedIndex;
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
而不是!=空
无论如何,什么是错误的逻辑
if (GridView1.SelectedRow != null)
{
// ...
}
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";
}
哦,是的,我是。但是你必须等待一定的时间才能接受答案,别担心:)你回答得太快了,而stackoverflow不喜欢它哈哈
if(GridView.SelectedRow != null)
{
// proceed with your action
}
else
{
Label5.Text = "Oops, please select a row";
}