写了静态类 msgbox 如下
Public Shared Sub MsgBox(ByVal Pl As System.Web.UI.Page, ByVal Message As String)
Dim sScript As String
Dim sMessage As String
sMessage = Strings.Replace(Message, "'", "\'") '处理单引号
sMessage = Strings.Replace(sMessage, vbNewLine, "\n") '处理换行
sScript = String.Format("alert('{0}');", sMessage)
ScriptManager.RegisterStartupScript(Pl, Pl.GetType(), "alert", sScript, True)
End Sub
然后在网页中调用!
Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim mCon As New MicrocodeSqlClass.MCDb("sa", "wmkj", "pos", ".")
mCon.OpenDBConnection()
If mCon.Connection.State = Data.ConnectionState.Open Then
AspToolsV1.MsgBox(Me, "数据库连接成功!!")
AspToolsV1.MsgBox(Me, "数据库连接成功!!1")
AspToolsV1.MsgBox(Me, "数据库连接成功!!2")
Else
AspToolsV1.MsgBox(Me, "数据库连接失败!!")
End If
Dim sCount As String
sCount = mCon.RunOneOne("select count(spno) from sc0", "N")
AspToolsV1.MsgBox(Me, "发现数据(语句为 select count(spno) from sc0:)" + sCount)
End Sub
为什么只显示第一次的alert??其他的都不显示!!
还有!
我用以下这种方法写showmsg !
Shared Sub ShowMsg(ByVal Message As String)
System.Web.HttpContext.Current.Response.Write("<SCRIPT LANGUAGE=""JavaScript"">" & vbCrLf)
System.Web.HttpContext.Current.Response.Write("alert(""" & Message & """)" & vbCrLf)
System.Web.HttpContext.Current.Response.Write("</SCRIPT>")
End Sub
调用的时候好用可以同时显示多个alert!可以原本居中的页面全变成靠左对其啦
怎么回事??
Public Shared Sub MsgBox(ByVal Pl As System.Web.UI.Page, ByVal Message As String)
Dim sScript As String
Dim sMessage As String
sMessage = Strings.Replace(Message, "'", "\'") '处理单引号
sMessage = Strings.Replace(sMessage, vbNewLine, "\n") '处理换行
sScript = String.Format("alert('{0}');", sMessage)
ScriptManager.RegisterStartupScript(Pl, Pl.GetType(), "alert", sScript, True)
End Sub
然后在网页中调用!
Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim mCon As New MicrocodeSqlClass.MCDb("sa", "wmkj", "pos", ".")
mCon.OpenDBConnection()
If mCon.Connection.State = Data.ConnectionState.Open Then
AspToolsV1.MsgBox(Me, "数据库连接成功!!")
AspToolsV1.MsgBox(Me, "数据库连接成功!!1")
AspToolsV1.MsgBox(Me, "数据库连接成功!!2")
Else
AspToolsV1.MsgBox(Me, "数据库连接失败!!")
End If
Dim sCount As String
sCount = mCon.RunOneOne("select count(spno) from sc0", "N")
AspToolsV1.MsgBox(Me, "发现数据(语句为 select count(spno) from sc0:)" + sCount)
End Sub
为什么只显示第一次的alert??其他的都不显示!!
还有!
我用以下这种方法写showmsg !
Shared Sub ShowMsg(ByVal Message As String)
System.Web.HttpContext.Current.Response.Write("<SCRIPT LANGUAGE=""JavaScript"">" & vbCrLf)
System.Web.HttpContext.Current.Response.Write("alert(""" & Message & """)" & vbCrLf)
System.Web.HttpContext.Current.Response.Write("</SCRIPT>")
End Sub
调用的时候好用可以同时显示多个alert!可以原本居中的页面全变成靠左对其啦
怎么回事??
操作js是页面前端事件了,你设断点调试下,就会发现弹出窗口要等后面的代码全执行完后才弹出的
---
ScriptManager.RegisterStartupScript(Pl, Pl.GetType(), "alert", sScript, True) 改成
ScriptManager.RegisterStartupScript(Pl, Pl.GetType(), null, sScript, True)
Response.Write是asp.net 1.1的用法 ,如果用了它页面中的css样式就不起作用了,asp.net 2.0中还是用ScriptManager.RegisterStartupScript吧
=========================================
就是因为你 ScriptManager.RegisterStartupScript(Pl, Pl.GetType(), "alert", sScript, True)
定死了一个"alert",名字一样的话就单单显示第一个了。
谁写的msgbox类可以在一个方法中连续显示多个alert??
结贴!!谢谢楼上的两位高人!