Добавить кнопку на существующий сайт - PullRequest
1 голос
/ 09 марта 2012

Существует сайт без скомпилированных библиотек 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.

1 Ответ

1 голос
/ 09 марта 2012

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

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

РЕДАКТИРОВАТЬ: Вот как файл .aspx.designer.vb обычно генерирует переменные-элементы для серверных элементов управления:

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

1012 *, например *

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

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

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

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