问题出在哪里
通过gridview显示数据,其中最后一列为image1控件,通过判断 e.Row.Cells[8].Text的值来动态显示不同的图片,但是刚打开时页面显示正常,但点击翻页按钮后图片的链接就丢失了,请问问题在哪里?
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
Image img = e.Row.FindControl("Image1") as Image;
if (img != null)
{
string val = e.Row.Cells[8].Text;
if (val.Equals("1"))
{
img.ImageUrl = "../jx.jpg";
}
else if (val.Equals("2"))
{
img.ImageUrl = "../dw.jpg";
}
else
{
img.Visible = false;
}
}
}
public void bind()
{
string SqlStr = "select * from dqwh";
DataSet ds = new DataSet();
try
{
SqlConnection conn = new SqlConnection(strConn);
if (conn.State.ToString() == "Closed") conn.Open();
SqlDataAdapter da = new SqlDataAdapter(SqlStr, conn);
da.Fill(ds, "dqwh");
if (conn.State.ToString() == "Open") conn.Close();
GridView1.DataSource = ds.Tables[0].DefaultView;
GridView1.DataBind();
btnFirst.Enabled = true;
btnPrev.Enabled = true;
btnNext.Enabled = true;
btnLast.Enabled = true;
LblCurrentIndex.Text = "第 " + (GridView1.PageIndex + 1).ToString() + " 页";
LblPageCount.Text = "共 " + GridView1.PageCount.ToString() + " 页";
LblRecordCount.Text = "总共 " + ds.Tables[0].Rows.Count.ToString() + " 条";
if (GridView1.PageIndex == 0)
{
btnFirst.Enabled = false;
btnPrev.Enabled = false;
}
else if (GridView1.PageIndex == GridView1.PageCount - 1)
{
btnNext.Enabled = false;
btnLast.Enabled = false;
}
pageDropDownList.Items.Clear();
for (int i = 1; i < GridView1.PageCount + 1; i++)
{
pageDropDownList.Items.Add(i.ToString());
}
pageDropDownList.SelectedValue = Convert.ToString(GridView1.PageIndex + 1);
btnFirst.CommandName = "1";
btnPrev.CommandName = (GridView1.PageIndex == 0 ? "1" : GridView1.PageIndex.ToString());
btnNext.CommandName = (GridView1.PageCount == 1 ? GridView1.PageCount.ToString() : (GridView1.PageIndex + 2).ToString());
btnLast.CommandName = GridView1.PageCount.ToString();
}
catch (Exception ex)
{
Response.Write("数据库错误,错误原因:" + ex.Message);
Response.End();
}
}
protected void PagerButtonClick(object sender, EventArgs e)
{
GridView1.PageIndex = Convert.ToInt32(((LinkButton)sender).CommandName) - 1;
bind();
}
protected void pageDropDownList_SelectedIndexChanged(object sender, EventArgs e)
{
GridView1.PageIndex = Convert.ToInt32(pageDropDownList.SelectedValue) - 1;
bind();
}