【发布时间】:2008-09-18 22:08:04
【问题描述】:
在一个有点复杂的页面上工作,以便在工作中配置客户。设置是有一个主页,其中包含用于各种设置的各种“面板”。
在一种情况下,主表上有一个电子邮件地址字段和一个“导出”配置,用于控制电子邮件的发送方式。我创建了一个选择公司并绑定到 FormView 的主面板。 FormView 包含一个 Web 用户控件,用于处理导出详细信息的显示/配置。
Web 用户控件包含一个属性来定义它应该处理哪个 Config,它使用 Bind() 从 FormView 获取值。
控件基本上是这样使用的:
<syn:ExportInfo ID="eiConfigDetails" ExportInfoID='<%# Bind("ExportInfoID" ) %>' runat="server" />
被绑定的属性在 CodeBehind 中是这样声明的:
public int ExportInfoID
{
get
{
return Convert.ToInt32(hfID.Value);
}
set
{
try
{
hfID.Value = value.ToString();
}
catch(Exception)
{
hfID.Value="-1";
}
}
}
每当ExportInfoID 为空时,我都会收到空引用异常,但更重要的是它发生在它实际尝试设置属性之前(或者它会在这个版本中被捕获。)
任何人都知道发生了什么,或者更重要的是,如何解决它...?
【问题讨论】: