.net - 'MsgBox' 未声明。由于其保护级别,它可能无法访问
问题描述
我一直在使用 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.Net WebForms 页面。您不能MsgBox()
在网页中使用,因为原始 HTML 没有直接匹配。
好的,您可以通过正确的调整,但它不会按照您想要的方式工作 - 消息将显示在服务器上的一个特殊私人桌面上,它会阻止请求,直到线程超时,最终用户永远不会看见。它有时可能看起来像您想要的那样工作,但这仅在您的开发环境中,Web 服务器和客户端浏览器位于同一台机器上。在现实世界中最接近的方法是注册一个 javascript 函数以在 DOM 启动时运行 call alert()
,而这远没有那么好。
这只是Web 窗体和 WinForms 平台之间的许多区别之一。Web Forms 旨在使开发人员更容易从 WinForms 世界过渡到 Web 开发,但它仍然是一个全新的平台,基于 HTTP 请求/响应模型的必要性。就像任何其他平台一样,它仍然需要大量学习才能学好。
因此,在构建网页时,您需要考虑创建一个 HTML 元素来显示您的信息。重要的是要记住,您编写的任何 VB.Net 事件代码都在Web 服务器上运行,只有在向服务器发送一个完全重新启动页面生命周期的新请求之后,并且远离最终用户;永远不会在用户的网络浏览器中。起初这可能非常令人沮丧,因为与 javascript 和公司相比,您往往会相当了解 VB.Net 和 WinForms API。但随着时间的推移,它确实变得更容易了。
但在这种情况下,您实际上只是MsgBox()
用于输出调试信息。你可以在这里做的是使用System.Diagnostics.Trace
类。Trace
将让您将消息直接放入 Visual Studio 输出窗口...或文件、数据库、控制台或任何您想看到它们的地方。
推荐阅读
- r - 余弦相似度:我想了解我得到的值
- ruby - 是否可以通过元数据限制 Stripe Charges?
- delphi - 对于超过 32KB 的流,IdHTTP Post 返回由对等方重置的连接
- excel - 使用 VBA 的动态公式:使用索引/匹配引用另一个工作表
- python - CommandNotFoundError:您的 shell 未正确配置为使用“conda activate”
- ssrs-2012 - 条件格式 ssrs
- deno - 为什么特定版本的 drash 会导致 deno 出错?
- c++ - 尝试通过 Ubuntu 上的 CLion 将 GLFW 从源代码链接到 C++ 项目时出错
- ruby-on-rails - 除了使用 body 标签之外,如何在特定页面中禁用 Turbolinks?
- swiftui - SwiftUI navigationBarItem 在显示不同的较大项目后显示在奇怪的位置