Пользовательское пространство имен для кода за страницей .aspx - PullRequest
3 голосов
/ 18 ноября 2008

Я использую .NET2.0. Допустим, у нас есть простая форма aspx с txtInput и btnSomeAction

   <asp:TextBox ID="txtInput" runat="server"></asp:TextBox>
   <asp:Button ID="btnSomeAction" runat="server" CommandName="SomeAction" Text="Do"/>

Тогда в коде формы у меня есть

Protected Sub btnSomeAction_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSomeAction.Click
    Dim s As String
    s = txtInput.Text
End Sub

Все отлично работает.

Затем я хочу добавить код в пользовательское пространство имен, например

Namespace mycustomnamespace

При этом я получаю ошибку компилятора:

Имя txtInput не объявлено - как если бы код больше не был подключен к странице

Нужно ли мне изменять страницу aspx для включения пространства имен ?, Как насчет частичного класса?

1 Ответ

7 голосов
/ 18 ноября 2008

Нужно ли изменить страницу aspx, чтобы включить пространство имен ?, Как насчет частичного класса?

Да. В верхней части вашего файла aspx вы должны увидеть что-то вроде

<%@ Page AutoEventWireup="false" Inherits="Blah.Foo.Bar" %>

Где bar - это имя класса в коде, а Blah.Foo - это пространство имен. Вам нужно изменить его на

<%@ Page AutoEventWireup="false" Inherits="mycustomnamespace.Bar" %>
...