如何弹出信息提示,等用户点击确认后,再继续执行下面的语句 在页面进行数据增加功能,当添加数据成功,应给出一个弹出信息框,显示“添加成功”。当用户点击提示框的确定后,再将页面初始化,或进行下一条记录的录入或是进行跳转到别的页面。现在是这样的,如果我希望弹出信息框,让用户点击确定后,再跳转到别的页面。但是现在信息框刚弹出,页面已经跳转了。有没有办法来解决呢。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 ClientScript.RegisterStartupScript(Page.GetType(), "", "<script>alert('" + str+ "');window.location.href ='" + strUrl + "';</script>"); 请问这里的str和strurl分别是提示信息和要跳转的页面文件吗 从用户体验的角度来说,应该使用 Ajax。 STR 提示信息strurl跳转地址提示使用confirm 谢谢 各位 wuyq11真高人,经常得到你的指点 <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> 楼主用的是Page.ClientScript.RegisterClientScriptBlock的情况吧,RegisterStartupScript 方法是将 JavaScript 嵌入到 ASP.NET 页面的底部,恰好位于关闭元素 </form> 的前面。RegisterClientScriptBlock 方法是将 JavaScript 嵌入到页面中开启元素 <form> 的紧后面所以效果上会有所不同的~ 按照你的方法,我下面有点迷糊了 这一个页面是通用的,要根据本页面的之前的调用页面而跳转,如下: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()); }这种如何是好啊,再请教了 楼主意思下面else要部分要转跳其他页面?那在重定向下吧~还有你那个赋空值不用那么麻烦 private void ClearData() { TextBox textbox; foreach (Control control in this.Controls) { if (control is TextBox) { textbox = control as TextBox; textbox.Text = string.Empty; } } }就可以了~ 非常感谢楼上我还是有点不明白,ClientScript.RegisterStartupScript(Page.GetType(), "", "<script>alert('" + str + "');window.location.href ='" + strUrl + "';</script>");里面已经有了一个跳转,那我怎么按不同的条件再跳转还是不跳转呢 我不清楚你这个页面逻辑是干嘛的看你最开始写的需求貌似是这个页面就是用来增加的然后操作成功转跳,但是为什么是在转跳自己的页面?如果是为了刷新你在成功绑定下你的数据绑定控件就可以了~所以想问下你这个else里面是想干嘛...~ 是这样的,是有两个页面链接到这个功能页,其中一个是不需要重定向回去的,添加完一条后,仍然可以继续添加新数据,除非点击返回。另一个是从一个查询页面的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语句设置的变量没有起作用,在跳转回后之后,无法接收到变量 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());这些传参和变量不能用了,在跳转后的页面无法调用上述参数和变量,请教有没有解决办法 你把这些东西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>");这些后面 这些东西没有赋值 是因为你的页面已经进行了跳转,直接开始执行新页面的后台Code去了 请教 调用数据库数据显示在 UL LI列表中 fanliang11版本的分页自定义控件发布了 使用AspNetPager分页显示只有一页 用户登录界面怎么调用NT的用户? 回发或回调参数无效问题``急急``高手解决一下啊 @@@@@@@@@@@超难问题,怎么在一个页面内显示多个文件缩略图@@@@@@@@@@@@ 超难 如何解决页面刷新,数据重复写入的问题? .NET,让我欢喜让我忧! DataReader都要手工写吗!? 用户控件 ASP.NET 求助Discuz论坛被恶意访问的解决方法~!感激不尽!!叩谢!! 很简单的问题,只有我一个人不懂。
strurl跳转地址
提示使用confirm
wuyq11真高人,经常得到你的指点
function delBMsg()
{
if(!confirm('你确定要取消这条公告么?'))
return false;
return true;
}
</script>
<asp:LinkButton ID="lbtnDelete" runat="server" OnClientClick="return delBMsg();">删除</asp:LinkButton>
这一个页面是通用的,要根据本页面的之前的调用页面而跳转,如下: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()); }
这种如何是好啊,再请教了
还有你那个赋空值不用那么麻烦
private void ClearData()
{
TextBox textbox;
foreach (Control control in this.Controls)
{
if (control is TextBox)
{
textbox = control as TextBox;
textbox.Text = string.Empty;
}
}
}
就可以了~
我还是有点不明白,
ClientScript.RegisterStartupScript(Page.GetType(), "", "<script>alert('" + str + "');window.location.href ='" + strUrl + "';</script>");
里面已经有了一个跳转,那我怎么按不同的条件再跳转还是不跳转呢
另一个是从一个查询页面的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语句设置的变量没有起作用,在跳转回后之后,无法接收到变量
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());
这些传参和变量不能用了,在跳转后的页面无法调用上述参数和变量,
请教有没有解决办法
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>");
这些后面