2012-03-09 4 views
1

Существует существующий сайт без компилированных DLL, это все файлы .aspx.vb и .aspx.Добавить кнопку на существующий сайт

Первый вопрос заключается в том, что я могу видеть

<%@ Page Title="" Language="VB" MasterPageFile="~/MasterPage.master" 
MaintainScrollPositionOnPostback="true" AutoEventWireup="true" 
CodeFile="ThisPageName.aspx.vb" Inherits="ThisPageName" %> 

Но где файл, который он наследует от? Я работаю в C# больше и в скомпилированной сорта, я могу видеть этот другой исходный файл

Partial Class ThisPageName 

Но где другая половина разделяемого класса можно найти?

Причина вопроса в том, что я пытаюсь активировать закомментирована <asp:button>, но когда я добавить обработчик событий:

Protected Sub btnWasHidden_Click(ByVal sender As Object, ByVal e As System.EventArgs) 
Handles btnWasHidden.Click 

Я получаю это:

Compiler Error Message: BC30506: Handles clause requires a WithEvents variable 
defined in the containing type or one of its base types. 

И

E:\path\path\htdocs\ThisPageName.aspx.vb(304) : error BC30451: 
Name 'btnWasHidden' is not declared. 
+0

Я удалил «vb.net ASP.Net» из вашего названия, так как те теги, и у вас уже есть в тегах. –

ответ

1

Я не уверен в некомпилированных сайтах, но обычно это «другая половина» класс страницы хранится в файле pagename.aspx.designer.vb, который VS обновляет при изменении страницы разметки (.aspx).

Если вы делаете это вне контекста Visual Studio, вам может потребоваться добавить переменную-член для элемента управления в класс вручную либо в файл-конструктор, либо в файл основного класса (код позади).

EDIT: Вот как файл .aspx.designer.vb обычно создает переменные-члены для управления на стороне сервера:

Protected WithEvents <control_id> As <full namespace and type of control> 

например

Protected WithEvents TextBox1 As Global.System.Web.UI.WebControls.Button 

Просто следуйте этому шаблону в нормальном файле с кодом .vb и он должен работать.

В вашем случае я считаю, что это будет:

Protected WithEvents btnWasHidden As Global.System.Web.UI.WebControls.Button 
+0

Я не вижу файл .aspx.designer.vb (discountasp.net FTP), который, я уверен, содержит код инициализации и кода. Как добавить их вручную в файл .aspx.vb? – RichardTheKiwi

+0

@Richardakacyberkiwi Я добавил пример кода дизайнера к моему ответу. Это вам поможет? – GregL

+0

@Richardakacyberkiwi Также обратите внимание, что поскольку директива '@ Page' имеет свойство AutoEventWireup, равное' true', вам не нужно иметь код в Init, как на C#, для «подключения» обработчиков событий. Вместо этого ключевое слово «Ручки» в обработчике событий сделает это за вас. – GregL

Смежные вопросы