为什么asp:TextBox无法通过VB.net中的ID访问

时间:2017-12-21 21:20:13

标签: asp.net vb.net

我是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示例并没有找到有用的答案。

2 个答案:

答案 0 :(得分:1)

看看这一行:

<%@ Page Title="" Language="vb" AutoEventWireup="false" MasterPageFile="~/components/navigation/noajax.master" CodeBehind="default.aspx.vb" Inherits="_my.law.unc.edu._default" %>

您的Inherits属性值应与代码隐藏类的名称相匹配,即_defaultmanage.alumni._default

答案 1 :(得分:1)

您的aspx文件中拼错了txtEmailSearch。修复它,或者从代码隐藏文件中复制并粘贴名称。