asp.net 提交数据后,刷新界面不重复提交

ganlu423 2008-10-31 08:11:59
小弟做了一个界面,界面上有多条记录,处理一条记录后将转向另一个界面。同时原界面的数据将少一条。可是,当我刷新的时候又将原来的数据在处理一遍。请大家帮帮忙。能否提供方案解决。谢谢!
...全文
506 35 打赏 收藏 转发到动态 举报
写回复
用AI写文章
35 条回复
切换为时间正序
请发表友善的回复…
发表回复
wujumao 2008-10-31
  • 打赏
  • 举报
回复

response.addheader("refresh",0);
RHCL 2008-10-31
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 zhoufoxcn 的回复:]
比如当前页面是Add.aspx,如果提交成功之后写如下代码:

C# code
if(提交成功)
{
Response.Redirect("Add.aspx");
}



这样就不会重复提交了。
[/Quote]

Rs~~应该你是用js弹个框框~~不过当你刷新时表单数据还未清空,相当于重新执行了,ls已给出方案了,呵呵~~jf
zld_baggio 2008-10-31
  • 打赏
  • 举报
回复
d
ganlu423 2008-10-31
  • 打赏
  • 举报
回复
搞定了,谢谢大家
page_load:
if (!this.IsPostBack)
{
Session["TJ"] = false;
// 绑定grid
binddata();

GetCars();
this.zc.Visible = false;
DropDownList1.Enabled = false;
this.ImageButton1.Visible = false;
this.ImageButton1.Enabled = false;
}
else
{
if((bool) Session["TJ"])
Response.Redirect("gCSendCar.aspx");

}

button: Session["TJ"]=true;
lizhimin0310 2008-10-31
  • 打赏
  • 举报
回复
d
wangyaqin123 2008-10-31
  • 打赏
  • 举报
回复
使用重新定向,或者使用标志位进行判断.
qiqi1983731 2008-10-31
  • 打赏
  • 举报
回复
[Quote=引用 17 楼 lovehongyun 的回复:]
可以让你的原界面重新跳转(定位)一下.

JScript code<script>window.location=window.location</script>
[/Quote]
学习到了
ganlu423 2008-10-31
  • 打赏
  • 举报
回复
我不相刷新界面,我是怕用户使用的时候,刷新界面,数据就重复提交了
qinhl99 2008-10-31
  • 打赏
  • 举报
回复
up
ganlu423 2008-10-31
  • 打赏
  • 举报
回复
定义一个session进行判断
防重提交

能具体点吗?仁兄。
冷月孤峰 2008-10-31
  • 打赏
  • 举报
回复
一般提交成功后,通过Response.Redirect("xx.aspx");
转到其它页面,就不会出现用户再次刷新而导致页面再次提交数据了。
Jarvis-Li 2008-10-31
  • 打赏
  • 举报
回复
定义一个session进行判断

防重提交
冷月孤峰 2008-10-31
  • 打赏
  • 举报
回复
操作过后,如果没有跳转到其它页面,再按F5刷新,相当于window.location.Reload();
(如果有数据提交的话,会提示是否提交的(是和否选项))。如果点是,那肯定会再执行一次的。

如果实在想刷新页面,那么建议用:
window.location.href=window.location.href;来强制刷新页面,这个不会再次提交页面。
ganlu423 2008-10-31
  • 打赏
  • 举报
回复

protected void Page_Load(object sender, EventArgs e)
{
//获取登录用户信息
if (Session["ID"] == "" || Session["Company"] == "")
{
Response.Redirect("../NewLogin.aspx");
}
else
{
ID = (string)Session["ID"];
Company = (string)Session["Company"];
Name = (string)Session["Name"];

dtPower = (DataTable)Session["Power"];
}
//获取权限
if (dtPower != null && dtPower.Rows.Count != 0)
{
for (int i = 0; i < dtPower.Rows.Count; i++)
{
if (dtPower.Rows[i]["sPower"].ToString().Trim() == "车辆调度作业")
{
flag = true;
}
}
}
//没有权限,转到错误界面
if (!flag)
{
Response.Redirect("error_sendcars.aspx");
Response.End();
}
if (!this.IsPostBack)
{
// 绑定grid
binddata();
GetCars();
this.zc.Visible = false;
DropDownList1.Enabled = false;
this.ImageButton1.Visible = false;
this.ImageButton1.Enabled = false;
}
}
ganlu423 2008-10-31
  • 打赏
  • 举报
回复
我有控制过
string strr;
if (attInf.Create_AttemperInfoInsertNO(attBean, out strr) && appdal.UpdateAppInfoFlag(arrstr)) //插入到主,从表 以及 更新申请表状态 成功
{
RegisterStartupScript(DateTime.Now.ToString(), ("<script language='javascript'>alert('派车单创建成功');</script>"));

binddata(); //刷新界面

this.GridView_Main.Enabled = true;



// Response.Redirect("本页");
//刷新界面
// Response.Write("<script>opener.location.reload();</script>");
//Response.Write("<script langerage='javascript'>window.location.reload();</script>");
Response.Write("<script language='javascript'>window.open('gCreateCars.aspx?keyvalue=create&AttemperID=" + AttemperID + "');</script>");

// RegisterStartupScript(DateTime.Now.ToString() + "10", ("<script language='javascript'>window.open('gCreateCars.aspx?keyvalue=create&AttemperID=" + AttemperID + "');</script>"));
// Response.Redirect("gCSendCar.aspx");
ClearTxt(); //清除文本

this.ImageButton1.Visible = false;
this.ImageButton1.Enabled = false;
this.companypane.Visible = false;

}
else
{
RegisterStartupScript(DateTime.Now.ToString(), ("<script language='javascript'>alert('派车单创建失败!');</script>"));
return;
}
ganlu423 2008-10-31
  • 打赏
  • 举报
回复
我有控制过
string strr;
if (attInf.Create_AttemperInfoInsertNO(attBean, out strr) && appdal.UpdateAppInfoFlag(arrstr)) //插入到主,从表 以及 更新申请表状态 成功
{
RegisterStartupScript(DateTime.Now.ToString(), ("<script language='javascript'>alert('派车单创建成功');</script>"));

binddata(); //刷新界面

this.GridView_Main.Enabled = true;



// Response.Redirect("本页");
//刷新界面
// Response.Write("<script>opener.location.reload();</script>");
//Response.Write("<script langerage='javascript'>window.location.reload();</script>");
Response.Write("<script language='javascript'>window.open('gCreateCars.aspx?keyvalue=create&AttemperID=" + AttemperID + "');</script>");

// RegisterStartupScript(DateTime.Now.ToString() + "10", ("<script language='javascript'>window.open('gCreateCars.aspx?keyvalue=create&AttemperID=" + AttemperID + "');</script>"));
// Response.Redirect("gCSendCar.aspx");
ClearTxt(); //清除文本

this.ImageButton1.Visible = false;
this.ImageButton1.Enabled = false;
this.companypane.Visible = false;

}
else
{
RegisterStartupScript(DateTime.Now.ToString(), ("<script language='javascript'>alert('派车单创建失败!');</script>"));
return;
}
lfywy 2008-10-31
  • 打赏
  • 举报
回复
你的代码怎么写的,如果是在page_load里请用postback来控制
sxmonsy 2008-10-31
  • 打赏
  • 举报
回复
你加if(!IsPostBack){}
hy_lihuan 2008-10-31
  • 打赏
  • 举报
回复
你更新页面状态或者改变操作模式
lovehongyun 2008-10-31
  • 打赏
  • 举报
回复
可以让你的原界面重新跳转(定位)一下.
<script>window.location=window.location</script>
加载更多回复(15)

62,074

社区成员

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

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

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

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