显示模式对话框或表单时出错

时间:2009-06-23 06:20:26

标签: asp.net vb.net

我正在检查emailId是否存在于DB中,如果存在 我想创建一个确定/取消确认对话框。 如果用户说“Ok”,我将重定向到其他形式。

我的代码是:

If emailId = True Then
    If MsgBox("Your email address exists in our database. Click OK to update your   Details.", MsgBoxStyle.Information + MsgBoxStyle.OkCancel, Title:="NJ Golf Resort") = MsgBoxResult.Ok Then
        Response.Redirect("~/articles.asp?a=" & a & "&b=" & b )
    End If
End If

以上代码我收到错误:

  

显示模式对话框或表单   当应用程序没有运行时   UserInteractive模式无效   操作。指定   ServiceNotification或   DefaultDesktopOnly样式显示一个   来自服务的通知   应用

3 个答案:

答案 0 :(得分:5)

我认为这是ASP.Net中的网站代码,你要做的是在服务器上显示msgbox,这不能做,因为用户正在与客户端的Web浏览器进行交互,你可能会更好地使用javascript to dispaly msgbox

干杯。

答案 1 :(得分:2)

简而言之,您不应该在ASP.NET应用程序中使用System.Windows.Forms.Messagebox,因为消息框只能在Windows窗体应用程序中正常使用。

答案 2 :(得分:1)

function redirect(a,b){
      if(confirm('Your email id is in DB')){
          window.location.href='/articles.asp?a='+a+'&b='+b;
       }
} 

在服务器端,将上述客户端功能称为

If emailId = True Then
        this.Page.ClientScript.RegisterStartupScript(this.GetType(), "EmailID", String.Format("redirect({0},{1});", aValue, bValue), true);

    /*For Asp.net AJAX use the following code*/
    ScriptManager.RegisterStartupScript(this.GetType(), "EmailID", String.Format("redirect({0},{1});", aValue, bValue), true); 

结束如果

注意:我已经给了C#code.Translate到VB。