如何为用户控制文件执行代码

时间:2015-06-12 18:37:31

标签: asp.net

我有一个动态菜单,根据我数据库中的标志显示选择项目。目前,我的.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页面,所以我认为这不是解决方案。

1 个答案:

答案 0 :(得分:0)

根据上述评论,您正在使用Page Directive和自定义控件,您应该使用Control Directive

<%@ Control Language="vb" AutoEventWireup="false" CodeFile="menu2.ascx.vb"
Inherits="menu2" %>

从Microsoft站点用户控件和页面之间的区别

  

用户控件在以下方面与ASP.NET网页不同:

     
      
  • 用户控件的文件扩展名为.ascx。
  •   
  • 用户控件包含一个定义配置和其他属性的@Control指令,而不是@Page指令。
  •   
  • 用户控件无法作为独立文件运行。相反,您必须像对待任何控件一样将它们添加到ASP.NET页面。
  •   
  • 用户控件中没有html,正文或表单元素。这些元素必须位于托管页面中。
  •