问题出在哪里

tdzhz3 2010-11-16 09:42:45
通过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();
}
...全文
107 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
tdzhz3 2010-11-17
  • 打赏
  • 举报
回复
上面的高手,去掉ifispostback,问题还是没有解决
wwfgu00ing 2010-11-17
  • 打赏
  • 举报
回复
你点下一页的时候,断点调试一下,看下有没有进去复制给图片路径
酷儿 2010-11-16
  • 打赏
  • 举报
回复
不是分页 如果是分页的话 你点下一页的时候里面的内容也应该不会出来 现在只是图片没有出来 你page_load加载是怎么加载的 用了!ifispostback没有 如果用了就去掉 因为你分页刷新了 就是不是首次加载了
tdzhz3 2010-11-16
  • 打赏
  • 举报
回复
请问如何修改呀
消失的尘芥 2010-11-16
  • 打赏
  • 举报
回复
分页的代码问题,好好看看
xiachufeng_ 2010-11-16
  • 打赏
  • 举报
回复
string val = e.Row.Cells[8].Text;
问题出在这里
不能这样赋值吧

62,271

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧