ASP.NET中弹出提示对话框有哪些实现方法?在点击按钮的时候弹出提示对话框如“添加成功”这样的,本来是这样实现的,Response.Write("<script>alert('添加部门失败!');</script>"); 但是在页面中使用了AJAX的UpdatePanel之后就不行了,弹出的是一段英文,这个问题应该怎么解决?有没有不涉及JS的方法?
你可以使用ScriptManager类向客户端注册脚本
ScriptManager.RegisterClientScriptBlock(UpdatePanel1, this.GetType(), "aa", "alert('测试')", true);
与客户端交互,就靠JS了,说道绝对不用,我觉得是不是有点死钻牛角尖了,能更快更好解决问题最关键
UpdatePanel是不支持Response这种东西的,原因在于UpdatePanel要呈现给浏览器客户端的东西是在服务器端就已被处理为加密的代码,在客户端依靠一段JS解码并显示(执行);其次,Response这种老式的用法建议你不要使,如果你看看客户端Html代码就知道了...,这个们可以用div(Runat Server)替代
比如你有个按钮,ID为MYBut,那么实现方法可能如下
MYBut.Attributes.Add("onclick","javascript:...");
ScriptManager.RegisterStartupScript(MYBut, MYBut.GetType(),"", "javascript:...",true);
如果你有引入Flash,Flash控件也可,具体做法是在Flash动作或者帧加入
getURL("javascript:......")
服务器端的解决方案可以使用AjaxToolkitControl里的相关控件,但建议还是学好JS自己来写,或者使用类似thickbox的插件
一楼已经回答了,还有就是用js来弹出div来实现;
或者是用一些插件thickbox之类的。也很好
可以写一个父类,里面定义个messagebox方法,然后让page继承父类,这样子类就可以直接使用父类的方法了,父类中方法如下:
public void MessageBox(UpdatePanel Panel, string Message)
{
string msg = "alert('" + Message + "')";
System.Web.UI.ScriptManager.RegisterStartupScript(Panel, typeof(System.Web.UI.UpdatePanel), "UpdatePanelMessageBox", msg, true);
}
这样,子类调用MessageBox方法,传入updatepanel和msg,即可实现弹出