datalist 从数据库中读取数据来显示图片列表,当删除一个图片时候,datalist无显示(其实数据库已经成功删除)这是为什么呢?
删除后我已经对DataList重新绑定了。
删除后我已经对DataList重新绑定了。
解决方案 »
- 根据一个字符串 生成一个文件
- asp.net 网站 死锁 冲突
- 我想把本机上做的网站,放上服务器上面,是不是要发布一下,就行了啊,还需要注意什么方面的东东啊,
- 高分求解:ASP.NET转成ASP代码
- 如何显示和隐藏div
- 一个关于jmail的问题,其实是一个关于文件流的问题,望高手指教,谢谢!!!!
- 入门问题!
- 急:需用论坛代码,大伙给支持一下吧!我将感激不尽!
- 192.168.1.3:10000 其它电脑访问不了 不带端口号就可以访问
- 如何在关闭打印预览窗口时连能被预览网页一同关闭?
- 请问大虾,如何用VB.NET实现用三个BUTTON分别点击表示前一周、本周和后一周的内容
- 遇到问题,大家帮忙啊。。。。。
要重新指定datalist的数据源:datalist.DataSource = ...再datalist.DataBind()
{
public String userName = null; protected void Page_Load(object sender, EventArgs e)
{
HttpCookie cookie = Request.Cookies["user"];
if (cookie != null)
userName = cookie["userName"];
else
Response.Redirect("/Login.aspx"); if (!IsPostBack)
bindData(userName);
} //数据绑定
public void bindData(String userName)
{
if (userName == null)
Response.Redirect("/Login.aspx"); OpDB opDb = new OpDB();
DataSet ds = opDb.getUserPicData(userName); PagedDataSource pds = new PagedDataSource();
pds.DataSource = ds.Tables[0].DefaultView;
pds.AllowPaging = true;
pds.PageSize = 1; //每页显示记录数
int currentPage = Convert.ToInt32(this.currentPage.Text) - 1;
pds.CurrentPageIndex = currentPage; if (currentPage == 0)
{
this.home.Enabled = false;
this.previous.Enabled = false;
this.next.Enabled = true;
this.end.Enabled = true;
}
else if (currentPage == pds.PageCount - 1)
{
this.home.Enabled = true;
this.previous.Enabled = true;
this.next.Enabled = false;
this.end.Enabled = false;
}
else
{
this.home.Enabled = true;
this.previous.Enabled = true;
this.next.Enabled = true;
this.end.Enabled = true;
} this.totalPage.Text = pds.PageCount.ToString();
this.imageList.DataSource = pds;
this.imageList.DataBind();
} //分页
protected void home_Click(object sender, EventArgs e)
{
this.currentPage.Text = "1";
bindData(userName);
} protected void previous_Click(object sender, EventArgs e)
{
int temp = Convert.ToInt32(this.currentPage.Text) - 1;
this.currentPage.Text = temp.ToString();
bindData(userName);
}
protected void next_Click(object sender, EventArgs e)
{
int temp = Convert.ToInt32(this.currentPage.Text) + 1;
this.currentPage.Text = temp.ToString();
bindData(userName);
} protected void end_Click(object sender, EventArgs e)
{
this.currentPage.Text = this.totalPage.Text;
bindData(userName);
}
//删除图片
protected void delete_Click(object sender, EventArgs e)
{ LinkButton obj = (LinkButton)sender;
int pid = Convert.ToInt32(obj.CommandArgument); String path = MapPath("/"); //当前网站根目录路径
OpDB opDb = new OpDB(); opDb.deleteImage(pid, path);
bindData(userName); //删除后重新绑定
if (opDb.deleteImage(pid, path))
Response.Redirect("/secure/Default.aspx");
}
}已经重新获取数据源了,我点一一次删除的时候没反应,点第二次的时候才删除了,好像每个图片要点两次哦。
给个参考吧,这个是repeater的。
protected void MessagesMenu_ItemCommand(object source, RepeaterCommandEventArgs e)
{
if (e.CommandName == "D")
{
int result = DelUserMessage(Convert.ToInt32(e.CommandArgument));
if (result == 1)
{
InitMessage(ASPxPager1, Convert.ToInt32(Session["userid"]));
lblShowMsg.Text = "删除成功";
}
}
}