.net ';MsgBox';未声明。由于其保护级别,可能无法访问

.net ';MsgBox';未声明。由于其保护级别,可能无法访问,.net,vb.net,intellisense,msgbox,.net,Vb.net,Intellisense,Msgbox,我已经使用vb.net很长时间了,但从未遇到过这个问题。由于某些原因,Intellisense未检测到MsgBox()。当我将鼠标悬停在突出显示的红线上时,它会显示“'MsgBox'未声明。由于其保护级别,它可能无法访问”,在可能的修复中,它会尝试创建一个名为MsgBox()的新函数。 代码如下: Imports System Imports System.Data.SqlClient Imports System.Runtime.InteropServices Imports System.W

我已经使用vb.net很长时间了,但从未遇到过这个问题。由于某些原因,Intellisense未检测到MsgBox()。当我将鼠标悬停在突出显示的红线上时,它会显示“'MsgBox'未声明。由于其保护级别,它可能无法访问”,在可能的修复中,它会尝试创建一个名为MsgBox()的新函数。 代码如下:

Imports System
Imports System.Data.SqlClient
Imports System.Runtime.InteropServices
Imports System.Web.Configuration
Imports Microsoft.Office.Interop.Outlook

Public Class ConferenceRooms
    Inherits System.Web.UI.Page

    Dim SQLConnection As New 
SqlConnection(ConfigurationManager.ConnectionStrings("MyDB").ConnectionString)
    Dim SQLcommand As New SqlCommand
    Dim SQLAdapter As SqlDataAdapter
    Dim SQLDataTable As DataTable

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
    'MsgBox(LBTest.Attributes("title"))
    'Dim lb As Label = CType(Me.Controls("HR Conference Room"), Label)
     If Not IsPostBack Then
        Dim Query1 As String
        Query1 = "Select Location_ID from LCSConference_Locations where vacant = 1"
        RunQuery(Query1)
        Dim OrganizerEmail As String = OrgEmail.Value
        Dim Agenda As String = MeetAgenda.Value
        Dim Location As String = MeetLocation.Value
        MsgBox("Hello")

    End If
End Sub

这是重要的部分:

Inherits System.Web.UI.Page
你熟知的VB.Net是用于Windows窗体的。我们这里有一个ASP.NETWebForms页面您不能在网页中使用
MsgBox()
,因为原始HTML没有直接匹配

好的,你可以通过正确的调整,但它不会以你想要的方式工作-消息将显示在服务器上的一个特殊的私有桌面上,在那里它会阻止请求,直到线程超时,最终用户将永远看不到它。它有时似乎可以按照您想要的方式工作,但这仅适用于您的开发环境,其中web服务器和客户端浏览器位于同一台机器上。在现实世界中,最接近的方法是注册一个javascript函数,在DOM启动时运行,以调用
alert()
,这远没有这么好

这只是Web表单和WinForms平台之间的许多差异之一。Web表单旨在使开发人员更容易从WinForms世界过渡到Web开发,但它仍然是一个全新的平台,基于HTTP请求/响应模型。它仍然需要大量的学习才能学好,就像其他平台一样

因此,在构建网页时,您需要考虑创建一个HTML元素来显示您的消息。重要的是要记住,您编写的任何VB.Net事件代码都是在web服务器上运行的,只有在向服务器发送一个完全重新启动页面生命周期的新请求之后,并且远离最终用户;从不在用户的web浏览器中使用。这一点一开始可能非常令人沮丧,因为与javascript和company相比,您对VB.Net和WinForms API的了解相当透彻。但随着时间的推移,它确实变得容易了


但在本例中,您实际上只使用
MsgBox()
来输出调试信息。您可以在这里改为使用
System.Diagnostics.Trace
类<代码>跟踪将允许您将消息直接放入Visual Studio输出窗口。。。或文件、数据库、控制台,或任何您想查看它们的地方。

这是重要的部分:

Inherits System.Web.UI.Page
你熟知的VB.Net是用于Windows窗体的。我们这里有一个ASP.NETWebForms页面您不能在网页中使用
MsgBox()
,因为原始HTML没有直接匹配

好的,你可以通过正确的调整,但它不会以你想要的方式工作-消息将显示在服务器上的一个特殊的私有桌面上,在那里它会阻止请求,直到线程超时,最终用户将永远看不到它。它有时似乎可以按照您想要的方式工作,但这仅适用于您的开发环境,其中web服务器和客户端浏览器位于同一台机器上。在现实世界中,最接近的方法是注册一个javascript函数,在DOM启动时运行,以调用
alert()
,这远没有这么好

这只是Web表单和WinForms平台之间的许多差异之一。Web表单旨在使开发人员更容易从WinForms世界过渡到Web开发,但它仍然是一个全新的平台,基于HTTP请求/响应模型。它仍然需要大量的学习才能学好,就像其他平台一样

因此,在构建网页时,您需要考虑创建一个HTML元素来显示您的消息。重要的是要记住,您编写的任何VB.Net事件代码都是在web服务器上运行的,只有在向服务器发送一个完全重新启动页面生命周期的新请求之后,并且远离最终用户;从不在用户的web浏览器中使用。这一点一开始可能非常令人沮丧,因为与javascript和company相比,您对VB.Net和WinForms API的了解相当透彻。但随着时间的推移,它确实变得容易了


但在本例中,您实际上只使用
MsgBox()
来输出调试信息。您可以在这里改为使用
System.Diagnostics.Trace
类<代码>跟踪将允许您将消息直接放入Visual Studio输出窗口。。。或文件、数据库、控制台,或任何您想查看它们的地方。

编译代码时您是否收到任何问题?智能感知并不完美。尝试重新启动IDE,看看问题是否仍然存在。是的,我也尝试过。谢谢,成功了。我猜它没有包含在项目中,因为它没有在属性窗口中打勾。您在编译代码时收到任何问题吗?智能感知并不完美。尝试重新启动IDE,看看问题是否仍然存在。是的,我也尝试过。谢谢,成功了。我想它没有包含在项目中,因为它没有在属性窗口中打勾。这是一个很好的解释。尽管我建议让你的应用程序向你发送一条短信,而不是MsgBox.:)这是一个很好的解释。尽管我建议让你的应用程序向你发送一条短信,而不是MsgBox.:)