调试网页时对象引用错误

Object Reference Error when Debugging Webpage

我在用 C# 编写网站的一段代码时遇到问题,当我调试它时,它会打开网站(Chrome 中的本地主机)。除我正在调试的页面外,每个页面都有效,不管那是否是我正在调试的页面。每当我尝试打开它时,它都会在我在下面标记的行中给我一个对象引用错误。无论我使用哪种浏览器都会发生这种情况。

    Protected void page_load (object sender, EventArgs e)
    {
DateTime dteNow = SI.Getsource.DAL.Time.Now.Eastern();

If(!IsPostBack)
{
txtStartDate.SelectDate = dteNow.AddDays(-2)
txtEndDate.SelectedDate = dtenow.AddDays(1)

txtStartDate.Visible = False
txtEndDate.Visible = False

Shipping.DataTable.dt = SI.Getsource.DAL.EquipmentDB.getPrinter();


ddlPrinter.DataSource = dt.Result
ddlPrinter.DataTextField = dt.Result.Columns["Name"] //Error is here
ddlPrinter.DataValueField = dt.Result.Columns["PrinterID"]
ddlPrinter.DataBind();

Try
{
ddlPrinter.SelectedValue = System.Web.Configuration.WebConfigurationManager.AppSettings["DefaultPrinterID"]
}
Catch
}

}

我试过 运行在 IE 和 Firefox 中使用它。我还尝试为 "Name" 添加一个类似于 "Printer" 的 try-catch,但这没有做任何事情。任何建议将不胜感激,因为这个错误使我无法调试实际问题。

编辑:我使用的是 Visual Studio 2015。另外,只有当我在本地 运行 页面时才会发生这种情况,即。调试时

在出现错误的行上设置断点,然后将 dt.Result 添加到 Watch window 以在执行中断时检查其值这条线。可能是 dt.Result 为空。

编辑:此外,我认为您只需要为 .DataTextField.DataValueField.

指定字段名称

事实证明,这是内存问题。一旦我解决了这个问题,它就奏效了。