2017-10-04 119 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

相关问题