2017-10-04 81 views
0

我今天部署了我的ASP.NET應用程序。這是一個網絡應用程序(我正在使用表單等)。我很滿意我的所有功能。例如,我曾的代碼的一部分,上面寫着MsgBox在部署後不起作用

if c.results = " " then MsgBox("Error! No record was returned) 

然後清除我的所有文本框。

這MSGBOX當我在本地運行我的應用程序是工作,但現在,我已經部署了它,我得到了一個服務器運行錯誤!我閱讀了一些類似的帖子,說MsgBox不支持Web應用程序,但他們的答案都是使用JavaScript。我不熟悉它,但我不明白如何將我的JavaScript放在我的Visual Basic類中,而不是我調用MsgBox的位置 - 是否有解決上述問題的方法?

下面是代碼:

Dim results = customer.getCustomerDetails(txtCustomerNumber.Text, txtDOB.Text) 

If (results.customerNumber = "") Then 
    Response.Write("<script>alert('Customer record not found')</script>") 

    txtCustomerNumber.Text = "" 
    txtDOB.Text = "" 

Else 
    (Do the other stuff) 

End if 
+1

'MsgBox'是一個WINforms函數,而不是一個WEBforms。使用JavaScript'alert'或模式彈出。您可以使用'ScriptManager'調用客戶端腳本。 – VDWWD

+0

感謝您的評論!你能解釋更多嗎?如何在vb代碼中指定如果結果「」,然後調用JavaScript警告框。我幾乎沒有使用JavaScript,我無法擺脫困境,也無法找到一個能夠通過示例的文檔。謝謝 – Warda

+0

基本上我試圖說我的功能是寫在vb.net和JavaScript是客戶端我怎麼可以混合二者在vb.net做上述如果語句檢查,然後用JavaScript警報取代MsgBox ?! – Warda

回答

0

MSGBOX是服務器端,因此它不能顯示到客戶端它只能看到ASP.NET webform的客戶端,因此如果您想從後面的代碼訪問JavaScript警報或僅通過JavaScript提醒,請使用以下內容:

Page.ClientScript.RegisterStartupScript(Page.GetType(), "alert", "<script 
language=JavaScript>alert('your wanted message');</script>") 
-1

您可以從服務器端的VB生成客戶端代碼這樣:

If c.results = " " Then 
    Response.Write("<script>alert('Error! No record was returned')</script>") 
End If 
+0

的respone.write有時可能會引起一些問題,而不是使用Page.ClientScript.RegisterStartupScript(Page.GetType(), 「警報」,「「) – JKOU

+0

可能會遇到什麼樣的問題? – SEarle1986

+0

例如,有一次我使用response.write,它在顯示彈出消息的同時毀壞了我的界面,而是嘗試使用上面設置的代碼。 – JKOU