我有图像滑块,在IE中我有错误。
这是我的代码:
*//Složka s obrázky partnerů
string slozka = HttpContext.Current.Server.MapPath("~/Partneri");
protected void Page_Load(object sender, EventArgs e)
{
int cislo_obrazku = 0;
if (!Page.IsPostBack)
{
ArrayList slide = new ArrayList();
System.IO.DirectoryInfo inputDir = new System.IO.DirectoryInfo(slozka);
foreach (FileInfo eachfile in inputDir.GetFiles())
{
slide.Add(eachfile.ToString());
cislo_obrazku += 1;
}
Session["cislo_obrazku"] = cislo_obrazku;
Session["obrazky"] = slide;
Casovac(this, new EventArgs());
}
}
protected void Casovac(object sender, EventArgs e)
{
ArrayList slide = new ArrayList();
slide = (ArrayList)Session["obrazky"];
if ((Session["aktualni"] != null) && (Convert.ToInt32(Session["aktualni"]) != Convert.ToInt32(Session["cislo_obrazku"]) - 1))
{
//Posun na další
Image1.ImageUrl = "~\\Partneri\\" + slide[Convert.ToInt32(Session["aktualni"]) + 1].ToString();
Session["aktualni"] = Convert.ToInt32(Session["aktualni"]) + 1;
}
else if (Session["aktualni"] == Session["cislo_obrazku"])
{
//Pokud není další, začni znovu
Image1.ImageUrl = "~\\Partneri\\" + slide[0].ToString();
Session["aktualni"] = 0;
}
else
{
if (Convert.ToInt32(Session["cislo_obrazku"]) != 0)
{
//Initally load the first image in the image control
Image1.ImageUrl = "~\\Partneri\\" + slide[0].ToString();
Session["aktualni"] = 0;
}
}
}
错误:NullReferenceException was unhandled by user code
错误指向:
Image1.ImageUrl = "~\\Partneri\\" + slide[0].ToString();
和
Image1.ImageUrl = "~\\Partneri\\" + slide[0].ToString();
你有什么想法吗?
答案 0 :(得分:2)
NRE
可能是最容易理解的例外。当你没有足够的防守编码时,它也是最常见的问题之一。
很简单,这意味着您正在尝试访问一个null的对象上的属性/方法。
在你的情况下
slide[0].ToString();
或者
slide
为空slide[0]
为空。设置断点,调试您的应用。确定哪个为null,并且要么为此(例如,使用默认值),要么抛出更有意义的异常,如果它确实是该对象为空的异常情况。
答案 1 :(得分:0)
会话对象obrazky
尚未初始化。
在以下后添加空检查:
slide = (ArrayList)Session["obrazky"];