调试网页时对象引用错误
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
.
指定字段名称
事实证明,这是内存问题。一旦我解决了这个问题,它就奏效了。
我在用 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
.
事实证明,这是内存问题。一旦我解决了这个问题,它就奏效了。