我是VB.net的新手(之前来自C#和Java)。我已经接管了维护一个用VB.net和C#组合编写的遗留站点。
今天我一直在尝试在网站的一个部分上实现一个必须用VB编写的新页面,我正在努力使发现正在发生的事情。我将我的新代码与工作页面的现有代码进行了比较,但我找不到任何错误,但我必须遗漏一些内容。
我使用Visual Studio 2017创建基本文件"添加新项目..."向导并选择带有母版页的Webform。我选择了与该站点的其他页面使用的相同的母版页。我已经删除并重新创建了这些文件几次,错误各不相同,但都没有声明" ..的主题。由于其保护级别,它可能无法访问。"
这是我的.aspx文件:
<%@ Page Title="" Language="vb" AutoEventWireup="false" MasterPageFile="~/components/navigation/noajax.master" CodeBehind="default.aspx.vb" Inherits="_my.law.unc.edu._default" %>
<asp:Content ID="Content1" ContentPlaceHolderID="cphContent1" runat="server">
<asp:UpdatePanel ID="upPage" UpdateMode="Conditional" ChildrenAsTriggers="true" runat="server">
<ContentTemplate>
<label for="<%=txtEamilSearch.ClientID %>">Email:</label><br />
<asp:TextBox ID="txtEamilSearch" runat="server" />
<asp:Button ID="butTest" Text="Change" OnClick="butTest_OnClick" runat="server" />
</ContentTemplate>
</asp:UpdatePanel>
</asp:Content>
这是我的代码(.aspx.vb)文件:
Namespace manage.alumni
Public Class _default
Inherits System.Web.UI.Page
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
End Sub
Sub butTest_OnCLick(ByVal sender As Object, ByVal e As EventArgs)
'this line is meant to change the content of the textbox
' but I haven't gotten past the inability to recognize
' the control.
txtEmailSearch
End Sub
End Class
End Namespace
我的问题是,目前我收到的错误是&#34; txtEmailSearch
未声明。由于其保护级别,它可能无法访问。
我觉得我必须在这里错过一些非常基本的步骤,但是整整一天的谷歌搜索错误信息并寻找VB.Net/ASP.Net示例并没有找到有用的答案。
答案 0 :(得分:1)
看看这一行:
<%@ Page Title="" Language="vb" AutoEventWireup="false" MasterPageFile="~/components/navigation/noajax.master" CodeBehind="default.aspx.vb" Inherits="_my.law.unc.edu._default" %>
您的Inherits
属性值应与代码隐藏类的名称相匹配,即_default
或manage.alumni._default
答案 1 :(得分:1)
您的aspx文件中拼错了txtEmailSearch。修复它,或者从代码隐藏文件中复制并粘贴名称。