2011-03-24 108 views
0

我有這個代碼的問題:的Response.Write()的JavaScript不能正常工作

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load 

    clave = Request.QueryString("cve") 

    If clave = Nothing Then 
     Response.Write("<script language='javascript'>alert('Querystring is empty');window.close();</script>") 
     Return 
    End If 

    Dim valid As Boolean 
    valid = Regex.Match(clave, "\b\d{3}\-\d{3}\-\d{3}\b").Success 

    If valid = False Then 
     Response.Write("<script language='javascript'>alert('Wrong format');window.close();</script>") 
     Return 
    End If 

'More Code 
End Sub 

的事情是,第一if語句正常工作和「JavaScript的」顯示了提醒並關閉窗口,但在第二個if語句中,javascript顯示消息但不關閉窗口。

你們知道如何解決這個問題嗎?

+0

差異是退出子...可以這樣嗎? – mplungjan 2011-03-24 19:50:07

+0

當你進入那個特定的代碼路徑時,JavaScript是否會迴應一個腳本打開的窗口? – 2011-03-24 19:50:44

+0

啊,退出子沒有做任何事情,這是我的一個測試,對不起。固定。 – 2011-03-24 19:53:06

回答

1

該代碼似乎很好。

嘗試使用Client.RegisterScriptBlock代替。

+0

我試試吧,謝謝 – 2011-03-24 19:55:37

+0

+1你真的不應該直接寫js給回覆。 – 2011-03-24 19:56:13

+0

試過了,結果一樣。謝謝。 – 2011-03-24 21:02:57

1

window.close();是正確的,但出於安全原因,大多數瀏覽器不會讓你關閉你沒有打開的窗口。

+0

我正在使用Chrome 10,但是我不這樣做的問題,因爲第一個Response.write中的window.close無效。 – 2011-03-24 19:55:17

+0

可能要檢查這些:http://stackoverflow.com/questions/760422/how-can-i-close-a-window-with-javascript-on-mozilla-firefox-3和http://forums.asp達網絡/噸/ 1264584.aspx – gbs 2011-03-25 02:04:13