调试网页时出现对象引用错误

时间:2016-05-27 12:18:11

标签: c# asp.net visual-studio-2015 nullreferenceexception referenceerror

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

    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中运行它。我还尝试为“名称”添加一个类似于“打印机”的try-catch但是没有做任何事情。任何建议将不胜感激,因为此错误阻止我调试实际问题。

编辑:我正在使用Visual Studio 2015.此外,这只发生在我本地运行页面时,即。调试时。

2 个答案:

答案 0 :(得分:1)

在显示错误的行上设置断点,然后将dt.Result添加到 Watch 窗口,以便在此行执行中断时检查其值。可能是dt.Result为空。

编辑:此外,我认为您只需要指定.DataTextField.DataValueField的字段名称。

答案 1 :(得分:0)

事实证明,这是一个记忆问题。一旦我处理了它,它就有用了。