use*_*231 1 .net vb.net intellisense 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
Run Code Online (Sandbox Code Playgroud)
这是重要的部分:
Inherits System.Web.UI.Page
Run Code Online (Sandbox Code Playgroud)
您熟悉的VB.Net适用于Windows Forms.我们这里有一个ASP.Net WebForms页面.您不能MsgBox()在网页中使用,因为原始HTML没有直接匹配.
好的,您可以通过正确的调整,但它不会按您想要的方式工作 - 消息将显示在服务器上的特殊私有桌面中,它会阻止请求,直到线程超时,最终用户永远不会看见.它可能有时似乎工作,你想要的方式,但是这仅仅是在你的开发环境中,Web服务器和客户端浏览器在同一台机器上.你可以在现实世界中获得的最接近的是注册一个javascript函数,以便在DOM启动时运行来调用alert(),而且这种情况远远不够好.
这只是Web窗体和WinForms平台之间的许多差异之一.Web窗体旨在使开发人员更容易从WinForms世界过渡到Web开发,但它仍然是一个全新的平台,基于HTTP请求/响应模型的必要性.就像任何其他平台一样,它仍然需要大量学习才能学好.
因此,在构建网页时,您需要考虑创建HTML元素来显示您的消息.重要的是要记住,您编写的任何VB.Net事件代码都在Web服务器上运行,只有在向服务器发送完全重新启动页面生命周期并且远离最终用户的新请求之后; 永远不会在用户的网络浏览器中.一开始这可能非常令人沮丧,因为与javascript和公司几乎没有相比,你会比较熟悉VB.Net和WinForms API.但随着时间的推移它会变得更容易.
但在这种情况下,您实际上只是MsgBox()用来输出调试信息.你可以做的就是使用这System.Diagnostics.Trace门课.Trace将允许您将消息直接放入Visual Studio输出窗口...或文件,数据库或控制台,或者您想要查看它们的任何位置.
| 归档时间: |
|
| 查看次数: |
1331 次 |
| 最近记录: |