>我有一个动态菜单,根据数据库中的标志显示选择的项目。目前,我的.aspx页面上有菜单,.aspx.vb页面上有后面的代码。我正在添加更多页面,因此我尝试使用用户控件分隔菜单。但是,我不确定如何引用 .ascx 页面的隐藏代码。
当前代码:
<ul>
<li id="form1" runat="server"><a title="a" href="a.aspx" target="_blank">A Form</a></li>
<li id="form2" runat="server"><a title="b" href="b.aspx" target="_blank">B Form</a></li>
</ul>
代码隐藏:
Private Sub Customer_LoadData()
'DECLARE LOCAL VARIABLES
Dim objContract As Contract = Nothing
Dim objContractDL As New ContractDL
'RETRIEVE THE CUSTOMER'S CONTRACT INFORMATION
If objContractDL.Read(objContract, zintCustomerID) Then
Call DisplayCustomer(objContract)
Call DisplayForms(objContract)
End If
End Sub
Private Sub DisplayForms( _
ByVal objContract As Contract _
)
If (objContract.fieldFedLoansFlag = "0") Then
authform1.Visible = False
Else
authform1.Visible = True
End If
End Sub
我以前从未见过.ascx.vb页面,所以我认为这不是解决方案。
从上面的注释中,您使用的是页面指令,而自定义控件应该使用控制指令
<%@ Control Language="vb" AutoEventWireup="false" CodeFile="menu2.ascx.vb"
Inherits="menu2" %>
从Microsoft网站 用户控件和页面之间的区别
用户控件在以下方面与 ASP.NET 网页不同:
- 用户控件的文件扩展名为 .ascx。
- 用户控件包含定义配置和其他属性的 @ Control 指令,而不是 @ Page 指令。
- 用户控件不能作为独立文件运行。相反,您必须将它们添加到 ASP.NET 页,就像任何控件一样。
- 用户控件中没有 html、正文或窗体元素。这些元素必须位于托管页面中。