在使用asp.net的web应用程序中,我正在使用转发器控件,在ItmeCommand
事件中我试图使用fid控制方法找到一个控件,我编写代码来找到它正常工作的控件,控件不在转发器控制中,我得到例外。如果控件不在转发器控制中,我该如何处理异常。我的代码是这样的:
if (((DropDownList)rpPendingApprovals.Items[i].FindControl "drpBack")).SelectedItem.Value != "0")
当下拉控件不存在时,在转发器中如何处理此异常帮助我,谢谢。
答案 0 :(得分:3)
你为什么不这样做?
var dropdown = (DropDownList)rpPendingApprovals.Items[i].FindControl("drpBack"));
if (dropdown != null && dropdown.SelectedItem.Value != "0")
答案 1 :(得分:2)
DropDownList drpBack = (DropDownList)rpPendingApprovals.Items[i].FindControl("drpBack");
if(drpBack!=null)
{
if(drpBack.SelectedItem.Value != "0")
{
// Do Whatever you want
}
}
答案 2 :(得分:0)
当您尝试使用Shoaib的代码时,您将获得异常,因为如果drodown不为null,则检查第二个表达式,如果SelectedItem为null,则创建异常,因此将表达式嵌套为
var dropdown = (DropDownList)rpPendingApprovals.Items[i].FindControl("drpBack"));
if (dropdown != null && dropdown.SelectedItem != null)
if(dropdown.SelectedValue !="0")
问题有望消失