if(MyTable2.Rows.Count > 0)
{
Response.Write("<script language='javascript'>if(window.confirm('记录已存在,是否覆盖?'));</script>");
}
else
{
......;
}
for (i=0;i< MyTable.Rows.Count;i++)
{
......
}我想实现弹出对话框,是,执行for {},否,就结束程序执行。现在我这样写,连对话框都跳不出。哪位能帮帮忙。谢谢
{
Response.Write("<script language='javascript'>if(window.confirm('记录已存在,是否覆盖?'));</script>");
}
else
{
......;
}
for (i=0;i< MyTable.Rows.Count;i++)
{
......
}我想实现弹出对话框,是,执行for {},否,就结束程序执行。现在我这样写,连对话框都跳不出。哪位能帮帮忙。谢谢
另外﹐就你的意思的來看﹐方法是有問題的﹐要么就全部使用服務器端的方法﹐要么就在客戶角本中執行,想在客戶端讓用戶選擇﹐又不提交結果﹐服務器端怎么能得到結果呢﹖
在Page_Load中加入一行:
你按钮的ID.Attributes.Add("onclick", "return confirm('真的要删?');");之后在按钮的OnClick里写好你要做的事情,点按钮后弹出对话框,如课选是就执行OnClick里的代码,否则就不执行方法2.
Response.Write("<script>yn = confirm('数据已添加成功,是否继续添加?');if(yn == false){这里放你写的代码如windows.close();}else{这里放你写的代码如windows.close();}<" + "/script>");
{
......
}
代码。此Button的style属性中display为none,注意不是设置其Visible为false,而是设置其客户端css使其隐藏。输出对话框脚本的代码:if(MyTable2.Rows.Count > 0)
{
Response.Write("<script language='javascript'>if(window.confirm('记录已存在,是否覆盖?'))"+this.Page.ClientScript.GetPostBackEventReference(theOkButton,"")+";</script>");
}
else
{
......;
}方法二:你的页面要使用 IPostbackEventHandler 接口,例如:
public partial class _Default : System.Web.UI.Page,IPostBackEventHandler{...}实现此接口: #region IPostBackEventHandler 成员 public void RaisePostBackEvent(string eventArgument)
{
if(eventArgument=="after_confirm")
{
for (i=0;i< MyTable.Rows.Count;i++)
{
......
}
}
} #endregion最后,输出对话框脚本的代码:if(MyTable2.Rows.Count > 0)
{
Response.Write("<script language='javascript'>if(window.confirm('记录已存在,是否覆盖?'))"+this.Page.ClientScript.GetPostBackEventReference(this.Page,"after_confirm")+";</script>");
}
else
{
......;
}
这最后一种方式,是任何控件postback响应触发事件的最直接的标准方式(此处没有什么别的控件需要响应事件,直接让页面响应事件)。参数“after_confirm”,是为了当页面上有多个不同逻辑都要让页面响应的时候,作为区分触发命令(相当于CommandArgument)。
使用一个在客户端隐藏的Button来作为向服务器端触发时间的引导,这对初学者比较容易想到。但是此方法其实最为繁琐。
{
Response.Write("<script language='javascript'>if(window.confirm('记录已存在,是否覆盖?'))window.open('thisPage.aspx?confirm=yes');</script>");
}
else
{
......;
}
这种页面重定向方法“太大胆”了,随便就把页面上的所有控件的状态丢掉了,所以只有那些喜欢给自己找理由的程序员才会使用“凑巧”可用的方法。而好的程序员,严格控制自己的程序尽量只做“恰当”的事情而不轻易破坏其它逻辑。