【发布时间】:2013-12-31 03:01:21
【问题描述】:
在普通的 vb 类中,我使用下拉列表加载用户控件
Dim products As UserControl = Page.LoadControl("~/Controls/Products.ascx")
products.ID = "Products"
tile.Controls.Add(products)
但我的 onindexchanged 事件(在用户控件中)由于某种原因没有触发。
代码:
Partial Class Controls_Products
Inherits System.Web.UI.UserControl
Public Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load
If Not Page.IsPostBack Then
Dim myPage As BasePage = CType(Me.Page, BasePage)
Dim dsProducts As DataSet = eyeCatalogueFunctions.GetProduct(0, myPage.GetLang, myPage.GetCustid, 0, "", 0, Nothing, 0)
If Not IsNothing(dsProducts) AndAlso dsProducts.Tables.Count > 0 AndAlso dsProducts.Tables(0).Rows.Count > 0 Then
With Me.ddlProducts
.DataSource = dsProducts.Tables(0)
.DataTextField = "product_nam"
.DataValueField = "seqproduct"
.DataBind()
End With
Me.lblTest.Text = Me.ddlProducts.Items(0).Text
End If
End If
End Sub
Protected Sub ddlProducts_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ddlProducts.SelectedIndexChanged
'Do something
End Sub
用户控件没有什么特别之处:
<%@ Control Language="VB" AutoEventWireup="true" CodeFile="Products.ascx.vb" Inherits="Controls_Products" EnableViewState="true" %>
有什么想法吗?
【问题讨论】:
-
发布用户控件的代码可能会有所帮助。
-
是否会在用户控件中触发任何事件,例如您暂时在用户控件中放置一个按钮并为其绑定一个点击事件,这行得通吗?
-
不,那也不行
-
嗯,似乎事件没有正确连接,你能发布你的用户控件的标记吗?
-
您是否尝试过查看 SelectedValueChanged 事件是否触发?
标签: asp.net vb.net events user-controls