asp.net弹出对话框一般下面几种方式
Button.Attributes.Add("onclick", "return confirm('确定要XX?');");
简单好用,但是只发生在按钮控件点击的时候,LinkButton用法一样
Response.Write("");
这种是以前asp常用的方式,可以说过时了,据说性能很差。最明显缺点是他在服务器编译后总是插入在head位置,会导致页面排版布局发生变化
Page.RegisterClientScriptBlock和
Page.RegisterStartupScript
优于Response.Write的方式,但是已经过时被下面两个取代
Page.ClientScript.RegisterClientScriptBlock(GetType(), "key", "<script language='javascript'>alert('您好');</script>");
弹出对话框时会看不到页面
Page.ClientScript.RegisterStartupScript(GetType(), "key", "<script language='javascript'>alert('您好');</script>");
弹出对话框时能看到页面,用在有母版还是menu控件的页面时(具体原因还不清楚)会导致排版布局变化。但是比Response.Write()好在关闭对话框后排版能自动恢复
ScriptManager.RegisterStartupScript(Page, Page.GetType(), "", "<Script>alert('aa');</script>", false);
跟上面一种目测没区别
对话框信息需要换行的时候,前台代码可以这样写
<script language='javascript'>alert('数据库存在相同的身份证号\n请核对修改后再试一次');</script>
但是这句话用在后台就会导致js代码出错,因为转成前台代码时变成代码换行了而不是表示换行符,那么写成下面预编译形式就OK了
@"<script language='javascript'>alert('数据库存在相同的身份证号\n请核对修改后再试一次');</script>"
更多问题欢迎QQ交流,176457718