【问题标题】:Add button to existing site将按钮添加到现有站点
【发布时间】:2016-09-01 12:38:27
【问题描述】:

有一个没有编译 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

但是在哪里可以找到部分类的另一半?

问题的原因是我试图激活注释掉的&lt;asp:button&gt;,但是当我添加事件处理程序时:

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.

【问题讨论】:

  • 我从您的标题中删除了“vb.net ASP.Net”,因为这些是标签,并且您已经在标签中拥有它们。

标签: asp.net vb.net code-behind autoeventwireup


【解决方案1】:

我不确定非编译站点,但通常页面类的“另一半”保存在pagename.aspx.designer.vb 文件中,VS 会在您修改标记 (.aspx) 页面时更新该文件。

如果您在 Visual Studio 的上下文之外执行此操作,则可能需要在设计器文件或主类文件(代码隐藏)中手动将控件的成员变量添加到类中。

编辑:以下是.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

【讨论】:

  • 我看不到 .aspx.designer.vb 文件 (discountasp.net FTP),我确信它包含初始化和代码连线代码。如何在 .aspx.vb 文件中手动添加它们?
  • @Richardakacyberkiwi 我已将示例设计器代码添加到我的答案中。这对你有帮助吗?
  • @Richardakacyberkiwi 另请注意,由于@Page 指令的AutoEventWireup 属性等于true,因此您不需要像在C# 中那样在Init 中有代码来“连接” " 事件处理程序。相反,事件处理程序上的 Handles 关键字将为您执行此操作。
  • 但是应该还有设计器文件吧?它会存在于网络服务器上还是仅适用于 vs dev?
  • 不需要设计器文件,没有。它纯粹是在使用 Visual Studio 时使用的一种方便/约定,它纯粹包含每个控件的成员变量(在 ASP.NET 中,对于 Winforms 应用程序,它还包含所有属性设置代码,如高度、宽度、位置等)。如果您愿意,您可以将所有这些信息放在您自己的代码隐藏文件中,它只是不那么整洁。只需搜索页面上其他控件的成员变量在代码中的声明位置,然后为相关按钮添加类似的行。
猜你喜欢
  • 1970-01-01
  • 2021-02-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多