通过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();
}
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();
}
解决方案 »
- 复选框选中 下拉框隐藏
- bCB2F = (f.compareDocumentPosition(c) == 20) ? true : false;
- 提醒功能怎么做啊??
- 新手想做个网络相册希望各位指点
- 什么情况下使用SqlParameter,什么情况下使用DbParameter,两者有什么区别?
- 各们同仁...编程编累了吧?了解一下我们的宇宙?
- 可怜加班的我!在线求一sql时间查询语句!!
- 请问如何为网页生成图片
- 讨教刷新问题!
- javascript按键一次相当于二次怎么写
- 类型“TextBox”的控件“Content”必须放在具有 runat=server 的窗体标记内
- 前台Textbox弹出窗口选择供应商返回页面,如何再次触发gridview的RowDataBound事件?
问题出在这里
不能这样赋值吧