datagrid刷新后为什么会再次执行刷新前的那个动作。

newman0708 2006-08-23 08:53:12
在datagrid中是这样写的,然后在cs后台文件中加上DataGrid2_ItemCommand事件,
在我每次按下up.jpg图片时,数据库中的指定值会加1,
在我每次按下download.jpg图片时,数据库中的指定值会减1,

再在问题是,当我按下up.jpg图片后,数据是增加了,但是按完后,我刷新该页面,刚才的那个加1操作又被执行了一次,每次刷新都是这样,
一定要再按一下,别的按钮(非这个grid中的按钮)后,刷新才不会自动加1。

我不知道 为什么会这样,好像刷新会重复刚才的操作,

想请 高手们帮我解决一下这个问题,谢谢!


<asp:datagrid id="DataGrid2" runat="server" Width="100%" CssClass="DataTable" ItemStyle-CssClass="TableItem"
AlternatingItemStyle-CssClass="AltTableItem" HeaderStyle-CssClass="TableHeader" AllowPaging="True"
DataKeyField="id" AutoGenerateColumns="False">
<Columns>
<asp:TemplateColumn HeaderText="now">
<ItemTemplate>
<%# DataBinder.Eval(Container.DataItem,"currentpoint") %>
<asp:ImageButton id="up" ImageUrl='../images/up.jpg' runat="server" Width="12px" Height="12px" CommandName="increase"></asp:ImageButton>
<asp:ImageButton id="download" ImageUrl='../images/download.jpg' runat="server" Width="12px" Height="12px"
CommandName="decrease"></asp:ImageButton>
</ItemTemplate>
</asp:TemplateColumn>
</Columns>
</asp:datagrid>



private void DataGrid2_ItemCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
object objid=this.DataGrid2.DataKeys[e.Item.ItemIndex];
if (e.CommandName=="increase")
this.increaseValue(objid);
else if(e.CommandName=="decrease")
this.decreaseValue(objid);
this.BindGridPart();
}
...全文
277 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
newman0708 2006-08-24
  • 打赏
  • 举报
回复
我用了 Muzizi() 的方法,定位是可以了,但是

上面的问题又来了,
刷新会 自动执行一下那个加1操作,

是不是不能 两全其美啊,

注:即让我的网页刷新不自动执行刚才的操作,又能定位到刚才的位置。
c137004801211401 2006-08-24
  • 打赏
  • 举报
回复
先用ViewState[" "]保存返回页面在载入也可
Muzizi 2006-08-24
  • 打赏
  • 举报
回复
Response.Write("<script>window.location.href=window.location.href#materialsorder</script>");
nick19800707 2006-08-24
  • 打赏
  • 举报
回复
doitnow2000 2006-08-23
  • 打赏
  • 举报
回复
重新打开就可以了。
帮你顶一下,请高手指教原因。
newman0708 2006-08-23
  • 打赏
  • 举报
回复
对不起,楼上两位,我没有看懂,
Response.Write("<script>window.location.href=window.location.href=</script>");
这句子是什么意思,看不懂,

我把这个句子放到程序中,还是老样子,是不是这个句子不正确啊,

请明示,谢谢

zhaozhao110 2006-08-23
  • 打赏
  • 举报
回复
Response.Write("<script>window.location.href=window.location.href=</script>");
事件触发后再重新打开该页
zhuxiaojun2002 2006-08-23
  • 打赏
  • 举报
回复
被来就是这样的。
System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
object objid=this.DataGrid2.DataKeys[e.Item.ItemIndex];
if (e.CommandName=="increase")
this.increaseValue(objid);
else if(e.CommandName=="decrease")
this.decreaseValue(objid);
this.BindGridPart();
Response.Write("<script>window.location.href=window.location.href=</script>");
}
fengfang20012005 2006-08-23
  • 打赏
  • 举报
回复
newman0708 2006-08-23
  • 打赏
  • 举报
回复
连看的人都没有, 

只有自己先顶一下,
newman0708 2006-08-23
  • 打赏
  • 举报
回复
newman0708 2006-08-23
  • 打赏
  • 举报
回复
假如我已经有一个锚,
<a name="materialsorder"></a>

怎么用Response.Write("<script>window.location.href=window.location.href</script>");
刷新后回到我指定锚的位置。
newman0708 2006-08-23
  • 打赏
  • 举报
回复
好了,行了。

但是我想让它刷新后回来原来的位置,应该怎么写?

Response.Write("<script>window.location.href=window.location.href</script>");

62,046

社区成员

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

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

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

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