2011-10-07 71 views
1

我有一个代码块,应该在我的asp.net应用程序中向用户显示一个windows风格的消息框。无法在asp.net中的dev服务器上显示消息框

用户在一个asp.net页面上执行一个动作,然后该页面处理另一个aspx页面上的数据。第二个aspx页面是要显示消息框代码的位置。

该框显示在我的本地机器和另一个开发人员本地机器上。但是dev服务器不显示它。错误日志中也没有。

代码

Page1.aspx 

       Dim strString As String = SysUtility.CheckRecord(Session("UserID"), sPageType) 
       If Mid(strString, 1, 6) = "ERROR:" Then MsgBox(strString, MsgBoxStyle.Critical) 


Page2.aspx 
function CheckRecord(strPage) 
    ..... 
    .... database check to see if record is valid 
    .... 
    .... if invalid, return "Error: Invalid record" 
    .... 

end function 

我怎样才能解决这个问题(需要显示的消息框,当应用程序迁移到开发服务器)

+3

你如何呈现消息框?我们需要代码。 –

+1

你想显示一个窗体窗体消息框吗? – asawyer

+0

@asawyer ...是的。警告框或msgbox; – Troy

回答

4

MsgBox用于WinForms。在ASP.NET中,您有Javascript alertconfirm对话框以及jQuery UI对话框。您也可以使用AJAX Toolkit中包含的ModalPopupExtender。还有其他的解决方案,但这些是最常见的。

最简单的解决办法是显示一个警告,你可以是这样做的:

Page.ClientScript.RegisterStartupScript(GetType(), "ShowMessageScript", "alert('Hello World!');", true); 
+0

使用您的语法时不显示消息框。没有错误信息 – Troy

+0

这取决于你把代码放在哪里。尝试将它放在代码隐藏中的按钮单击事件中。 –

+0

没有可用的按钮点击事件,或者就此而言,任何点击事件 – Troy

1

您将无法使用MSGBOX作为这是一个Windows窗体的事情。有几种方法可以在asp.net中显示类似的东西。

如果它只是用于跟踪目的(你提到“dev server”),那么一个简单的;

Response.write("Computer says no"); 

会工作。如果你需要它是好的和风格的用户,你可以把一个受保护的字符串后面的代码......

protected string _errorMessage = ""; 

任何价值,你想它在你的页面加载分配,然后在一个金块页面本身;

<%= _errorMessage %> 

,你可以把任何你想要的,并使用HTML元素和占位符的组合,它标记,只要你喜欢。

最后的选择是将一些JavaScript喷到您的页面上,该页面使用“alert”方法,它看起来几乎完全像一个windows窗体弹出窗口,但通常它们在网页设计中不是很好的做法。

+0

我可以在我的页面上看到javascript,但是如何从Page1.aspx中调用它? – Troy

+0

您不能直接从服务器调用客户端的东西,您需要将呼叫喷入页面。请参阅James Johnsons关于如何以编程方式做出的回应(尽管请记住,JS是被解释的,因此您的调用将需要在您的函数定义之下进行喷射)。或者,你可以把JS用我描述的块金方法。 –

+0

计算机+1表示否 –

3

您无法在您的IIS Web服务器上运行的代码在客户端计算机上执行win api调用!

设置一个系统,其中警报样式消息向下渲染到onload javascript警报类型消息的页面,或者jquery咆哮样式插件。

+0

Downvoter评论? – asawyer

+0

这不是我压低了你,但我认为你的答案可以改进。 –

+0

@詹姆斯肯定,但已经有答案,包含任何我将编辑的内容添加到我的后面... – asawyer

0

这不能说你希望它做的方式来完成。如果您计划在您的服务器代码背后执行类似MsgBoxMessageBox.Show的操作,那么您的操作将会失败。你不能这样做的原因是因为模态弹出框会出现在服务器上,并会阻止该进程,直到该服务器上的某个人点击“确定”或“取消”或任何按钮。您需要的是通过调用javascript alert()函数在客户端执行此操作。

相关问题