protected void EditButton_Click(object sender, EventArgs e)
{
TextBox tdcd = (TextBox)FormViewDiagnostic.FindControl("DIAG_COMPL_DATETextBox");
TextBox tdrcd = (TextBox)FormViewDiagnostic.FindControl("DIAG_REVIEW_COMPL_DATETextBox");
RadioButtonList rbl =(RadioButtonList)FormViewDiagnostic.FindControl("DIAG_LL_APPROVALRadioButtonList");
TextBox tll = (TextBox)FormViewDiagnostic.FindControl("DIAG_LL_COMMENTSTextBox");
//if (!"".Equals(tdcd) && !"".Equals(tdrcd))
if (!string.IsNullOrEmpty(tdcd.Text) && !string.IsNullOrEmpty(tdrcd.Text))
{
//tdcd.Visible = true;
//tdrcd.Visible = true;
FormViewDiagnostic.FindControl("DIAG_LL_APPROVALRadioButtonList").Visible = true;
FormViewDiagnostic.FindControl("DIAG_LL_COMMENTSTextBox").Visible = true;
}
else
{
//tdcd.Visible = false;
//tdrcd.Visible = false;
FormViewDiagnostic.FindControl("DIAG_LL_APPROVALRadioButtonList").Visible = false;
FormViewDiagnostic.FindControl("DIAG_LL_COMMENTSTextBox").Visible = false;
}
}
对象引用未设置为行
处的对象实例if (!string.IsNullOrEmpty(tdcd.Text) && !string.IsNullOrEmpty(tdrcd.Text))
答案 0 :(得分:1)
您的tdcd
或tdrcd
为空。这就是你得到这个例外的原因。您可以先检查它们是否为null。
if ((tdcd != null && tdrcd!=null) && (!string.IsNullOrEmpty(tdcd.Text) && !string.IsNullOrEmpty(tdrcd.Text)))
答案 1 :(得分:1)
tdcd
或tdrcd
null
并且无法保证您始终可以获得它。
TextBox tdcd = (TextBox)FormViewDiagnostic.FindControl("DIAG_COMPL_DATETextBox");
TextBox tdrcd = (TextBox)FormViewDiagnostic.FindControl("DIAG_REVIEW_COMPL_DATETextBox");
答案 2 :(得分:1)
tdcd
或tdrcd
为空。这意味着FormViewDiagnostic.FindControl()
为其中一个返回null。
这可能意味着"DIAG_COMPL_DATETextBox"
或"DIAG_REVIEW_COMPL_DATETextBox"
不是控件的正确ID。
检查这些ID是否与表单上实际声明的内容相匹配。
答案 3 :(得分:0)
做这样的检查
if(tdcd != null && tdrcd != null)
{
// do stuff
}
答案 4 :(得分:0)
TextBox
引用(tdcd
和/或tdrcd
)为空。
您应该将FormView.ItemDataBound
事件与相应的FormViewMode
一起使用(查看FormView
的{{3}}属性)以获取对您控件的引用。
您之前还需要DataBind
FormView,创建控件的内容。
例如(假设TextBoxes
位于EditItemTenmplate
):
protected void EditButton_Click(object sender, EventArgs e)
{
Object someSource=null;
FormViewDiagnostic.ChangeMode(FormViewMode.Edit);
FormViewDiagnostic.DataSource = someSource;
FormViewDiagnostic.DataBind();
}
protected void FormViewDiagnostic_DataBound(Object sender, EventArgs e)
{
var view = (FormView)sender;
if (view.CurrentMode == FormViewMode.Edit)
{
var txt1 = (TextBox)view.FindControl("DIAG_COMPL_DATETextBox");
var txt2 = (TextBox)view.FindControl("DIAG_REVIEW_COMPL_DATETextBox");
var txt3 = (TextBox)view.FindControl("DIAG_LL_COMMENTSTextBox");
var rbl = (RadioButtonList)view.FindControl("DIAG_LL_APPROVALRadioButtonList");
txt3.Enabled = rbl.Enabled = txt1.Text.Length != 0 && txt2.Text.Length != 0;
}
}