如何弹出信息提示,等用户点击确认后,再继续执行下面的语句

lid123456 2011-02-19 09:33:32
在页面进行数据增加功能,当添加数据成功,应给出一个弹出信息框,显示“添加成功”。当用户点击提示框的确定后,再将页面初始化,或进行下一条记录的录入或是进行跳转到别的页面。

现在是这样的,如果我希望弹出信息框,让用户点击确定后,再跳转到别的页面。但是现在信息框刚弹出,页面已经跳转了。
有没有办法来解决呢。
...全文
1307 19 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
烟波钓 2011-10-17
  • 打赏
  • 举报
回复
这些东西没有赋值 是因为你的页面已经进行了跳转,直接开始执行新页面的后台Code去了
烟波钓 2011-10-17
  • 打赏
  • 举报
回复
[Quote=引用 17 楼 lid123456 的回复:]
string str = "添加数据成功!";
string strUrl = ViewState["MOTHER_PAGE"].ToString();
ClientScript.RegisterStartupScript(Page.GetType(), "", "<script>alert('" + str + "');window.location.href ='" + strUrl + ……
[/Quote]
你把这些东西
Context.Items.Add("Page_Size", ViewState["PageSize"].ToString());
Context.Items.Add("Cur_Page", ViewState["CurPage"].ToString());
Context.Items.Add("UNIT_CODE", ViewState["UNIT_CODE"].ToString());
放到
string str = "添加数据成功!";
string strUrl = ViewState["MOTHER_PAGE"].ToString();
ClientScript.RegisterStartupScript(Page.GetType(), "", "<script>alert('" + str + "');window.location.href ='" + strUrl + "';</script>");
这些后面
lid123456 2011-02-20
  • 打赏
  • 举报
回复
string str = "添加数据成功!";
string strUrl = ViewState["MOTHER_PAGE"].ToString();
ClientScript.RegisterStartupScript(Page.GetType(), "", "<script>alert('" + str + "');window.location.href ='" + strUrl + "';</script>");

使用上述跳转没有问题
只是
Context.Items.Add("Page_Size", ViewState["PageSize"].ToString());
Context.Items.Add("Cur_Page", ViewState["CurPage"].ToString());
Context.Items.Add("UNIT_CODE", ViewState["UNIT_CODE"].ToString());
这些传参和变量不能用了,在跳转后的页面无法调用上述参数和变量,
请教有没有解决办法
  • 打赏
  • 举报
回复
[Quote=引用 15 楼 lid123456 的回复:]
是这样的,是有两个页面链接到这个功能页,其中一个是不需要重定向回去的,添加完一条后,仍然可以继续添加新数据,除非点击返回。
另一个是从一个查询页面的gridview中链接的,当添加完后,要再返回那个gridview

我已经将代码修改了,如下:
if (ViewState["MOTHER_PAGE"].ToString() == "WaterMeterSlManage.aspx")
……
[/Quote]strUrl 后面要跟上参数
lid123456 2011-02-20
  • 打赏
  • 举报
回复
是这样的,是有两个页面链接到这个功能页,其中一个是不需要重定向回去的,添加完一条后,仍然可以继续添加新数据,除非点击返回。
另一个是从一个查询页面的gridview中链接的,当添加完后,要再返回那个gridview

我已经将代码修改了,如下:
if (ViewState["MOTHER_PAGE"].ToString() == "WaterMeterSlManage.aspx")
{
LTP.Common.MessageBox.Show(this, "添加数据成功!");
txtWaterMeterCode.Text = string.Empty;
txtWaterMaterName.Text = string.Empty;
TextBox1.Text = string.Empty;
TextBox2.Text = string.Empty;
TextBox3.Text = string.Empty;
TextBox4.Text = string.Empty;
TextBox6.Text = string.Empty;
TextBox7.Text = string.Empty;
txtFysl.Text = string.Empty;
}
else
{
Context.Items.Add("Page_Size", ViewState["PageSize"].ToString());
Context.Items.Add("Cur_Page", ViewState["CurPage"].ToString));
Context.Items.Add("UNIT_CODE", ViewState["UNIT_CODE"].ToString());
string str = "添加数据成功!";
string strUrl = ViewState["MOTHER_PAGE"].ToString();
ClientScript.RegisterStartupScript(Page.GetType(), "", "<script>alert('" + str + "');window.location.href ='" + strUrl + "';</script>");
}
}

现在跳转是成功了,但是Context.Items.Add语句设置的变量没有起作用,在跳转回后之后,无法接收到变量
davidcoffee 2011-02-19
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 lid123456 的回复:]
非常感谢楼上
我还是有点不明白,
ClientScript.RegisterStartupScript(Page.GetType(), "", "<script>alert('" + str + "');window.location.href ='" + strUrl + "';</script>");
里面已经有了一个跳转,那我怎么按不同的条件再跳转还是不跳转呢
[/Quote]
我不清楚你这个页面逻辑是干嘛的看你最开始写的需求貌似是这个页面就是用来增加的然后操作成功转跳,但是为什么是在转跳自己的页面?如果是为了刷新你在成功绑定下你的数据绑定控件就可以了~所以想问下你这个else里面是想干嘛...~
lid123456 2011-02-19
  • 打赏
  • 举报
回复
非常感谢楼上
我还是有点不明白,
ClientScript.RegisterStartupScript(Page.GetType(), "", "<script>alert('" + str + "');window.location.href ='" + strUrl + "';</script>");
里面已经有了一个跳转,那我怎么按不同的条件再跳转还是不跳转呢
davidcoffee 2011-02-19
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 lid123456 的回复:]
按照你的方法,我下面有点迷糊了
这一个页面是通用的,要根据本页面的之前的调用页面而跳转,如下:

string str = "添加数据成功!";
ClientScript.RegisterStartupScript(Page.GetType(), "", "<script>alert('" + str + "');window.location.href ='" + strUrl + "……
[/Quote]
楼主意思下面else要部分要转跳其他页面?那在重定向下吧~
还有你那个赋空值不用那么麻烦
private void ClearData()
{
TextBox textbox;
foreach (Control control in this.Controls)
{
if (control is TextBox)
{
textbox = control as TextBox;
textbox.Text = string.Empty;
}
}
}
就可以了~
lid123456 2011-02-19
  • 打赏
  • 举报
回复
按照你的方法,我下面有点迷糊了
这一个页面是通用的,要根据本页面的之前的调用页面而跳转,如下:

string str = "添加数据成功!";
ClientScript.RegisterStartupScript(Page.GetType(), "", "<script>alert('" + str + "');window.location.href ='" + strUrl + "';</script>");

if (ViewState["MOTHER_PAGE"].ToString() == "WaterMeterSlManage.aspx")
{//如果是该页面调用的,就不跳转,还在本页操作,只是要清空一下控件
txtWaterMeterCode.Text = string.Empty;
txtWaterMaterName.Text = string.Empty;
TextBox1.Text = string.Empty;
TextBox2.Text = string.Empty;
TextBox3.Text = string.Empty;
TextBox4.Text = string.Empty;
TextBox6.Text = string.Empty;
TextBox7.Text = string.Empty;
txtFysl.Text = string.Empty;
}
else
{ //要跳转
Context.Items.Add("Page_Size", ViewState["PageSize"].ToString());
Context.Items.Add("Cur_Page", ViewState["CurPage"].ToString());
Context.Items.Add("UNIT_CODE", ViewState["UNIT_CODE"].ToString());
Server.Transfer(ViewState["MOTHER_PAGE"].ToString());

}


这种如何是好啊,再请教了
davidcoffee 2011-02-19
  • 打赏
  • 举报
回复
楼主用的是Page.ClientScript.RegisterClientScriptBlock的情况吧,RegisterStartupScript 方法是将 JavaScript 嵌入到 ASP.NET 页面的底部,恰好位于关闭元素 </form> 的前面。RegisterClientScriptBlock 方法是将 JavaScript 嵌入到页面中开启元素 <form> 的紧后面所以效果上会有所不同的~
peter20091001 2011-02-19
  • 打赏
  • 举报
回复
<script type="text/javascript" language="javascript">
function delBMsg()
{
if(!confirm('你确定要取消这条公告么?'))
return false;
return true;
}
</script>
<asp:LinkButton ID="lbtnDelete" runat="server" OnClientClick="return delBMsg();">删除</asp:LinkButton>
一路奔跑1314 2011-02-19
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 wxr0323 的回复:]
引用 3 楼 lid123456 的回复:

请问这里的str和strurl分别是提示信息和要跳转的页面文件吗


对头。。按顺序执行JS
[/Quote]
很不错,有学了点东西
lid123456 2011-02-19
  • 打赏
  • 举报
回复
谢谢 各位
wuyq11真高人,经常得到你的指点
子夜__ 2011-02-19
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 lid123456 的回复:]

请问这里的str和strurl分别是提示信息和要跳转的页面文件吗
[/Quote]

对头。。按顺序执行JS
wuyq11 2011-02-19
  • 打赏
  • 举报
回复
STR 提示信息
strurl跳转地址
提示使用confirm
threenewbee 2011-02-19
  • 打赏
  • 举报
回复
从用户体验的角度来说,应该使用 Ajax。
lid123456 2011-02-19
  • 打赏
  • 举报
回复
请问这里的str和strurl分别是提示信息和要跳转的页面文件吗
一路奔跑1314 2011-02-19
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 wuyq11 的回复:]
ClientScript.RegisterStartupScript(Page.GetType(), "", "<script>alert('" + str+ "');window.location.href ='" + strUrl + "';</script>");
[/Quote]

我也遇到这种情况
麻烦解释下各参数什么意思
wuyq11 2011-02-19
  • 打赏
  • 举报
回复
ClientScript.RegisterStartupScript(Page.GetType(), "", "<script>alert('" + str+ "');window.location.href ='" + strUrl + "';</script>");

62,243

社区成员

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

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

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

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