如何在ASP.NET的代码隐藏文件中调用函数?

如何在ASP.NET的代码隐藏文件中调用函数?,asp.net,vb.net,Asp.net,Vb.net,我有ShowValue工作。现在,在最后一行,我需要调用函数newFunction,在onClick事件上重新填充dropdownlist对象 单击下拉列表向下箭头时出现错误 我怎样才能让他们俩握手呢 我的代码: Public Sub ShowValue(ByVal sender As Object, ByVal e As System.EventArgs) lblupdatePanel.Text = DropDownList1.SelectedValue.ToString D

我有
ShowValue
工作。现在,在最后一行,我需要调用函数
newFunction
,在
onClick
事件上重新填充
dropdownlist
对象

单击
下拉列表
向下箭头时出现错误

我怎样才能让他们俩握手呢

我的代码:

Public Sub ShowValue(ByVal sender As Object, ByVal e As System.EventArgs)

    lblupdatePanel.Text = DropDownList1.SelectedValue.ToString
    Dim LocationDescription2 As DropDownList = CType(dvContact.FindControl("LocationDescription2"), DropDownList)

    Dim LocationLogic As New LocationBLL
    LocationDescription2.DataSource = LocationLogic.GetUnitByUnitID(DropDownList1.SelectedValue.ToString)
    LocationDescription2.DataTextField = "LocationDescription"
    LocationDescription2.DataValueField = "LocationCode"
    LocationDescription2.SelectedValue = DropDownList1.SelectedValue.ToString
    LocationDescription2.DataBind()

    LocationDescription2.Attributes.Add("onclick", "newFunction(what to put here?);")

End Sub

Public Sub newFunction(ByVal sender As Object, ByVal e As System.EventArgs)

    Dim LocationDescription2 As DropDownList = CType(dvContact.FindControl("LocationDescription2"), DropDownList)
    Dim DivisionDescription1 As DropDownList = CType(dvContact.FindControl("DivisionDescription1"), DropDownList)

    Dim LocationLogic As New LocationBLL
    LocationDescription2.DataSource = LocationLogic.GetLocationByDivisionCode(DivisionDescription1.SelectedValue.ToString)
    LocationDescription2.DataTextField = "LocationDescription"
    LocationDescription2.DataValueField = "LocationCode"
    LocationDescription2.DataBind()

End Sub

LocationDescription2.Attributes.Add(“onclick”、“newFunction(在这里放什么?)”

添加客户端javascript事件处理程序,该处理程序无法调用VB.NET codebehind函数。您需要在VB.NET中连接事件

因此,它将触发回发,此时ASP.NET可以调用codebehind事件处理程序


不过,最好还是在页面中定义事件处理程序。

LocationDescription2.Attributes.Add(“onclick”、“newFunction(在这里放什么?)”

添加客户端javascript事件处理程序,该处理程序无法调用VB.NET codebehind函数。您需要在VB.NET中连接事件

因此,它将触发回发,此时ASP.NET可以调用codebehind事件处理程序


不过,最好是在Page_Load中定义事件处理程序。

属性。要调用的Add方法只会影响控件的呈现html。呈现html只能直接调用javascript函数。您需要在服务器上调用此代码。请记住保留页面的html/DOM视图和控件的服务器视图在你的脑海里分开一页

要在服务器视图中连接事件,vb.net语法如下所示:

AddHandler LocationDescription2.[EventName], AddressOf newFunction
不幸的是,DropDownList控件没有单击事件,因此您需要将我的示例中的
EventName
替换为此处显示的事件之一:

您必须满足于最后一个事件中包含的事件,或者执行一些复杂的javascript工作来模拟单击事件


此外,重要的是要记住,在处理服务器端事件时,不仅要运行特定的事件处理程序,还要重建整个页面。您需要确保这是您真正想要的。

属性。您调用的Add方法仅影响控件的呈现html。呈现html只能直接调用javascript函数。您需要在服务器上调用此代码。请记住保留页面的html/DOM视图和页面的服务器视图在你的脑海中分离

要在服务器视图中连接事件,vb.net语法如下所示:

AddHandler LocationDescription2.[EventName], AddressOf newFunction
不幸的是,DropDownList控件没有单击事件,因此您需要将我的示例中的
EventName
替换为此处显示的事件之一:

您必须满足于最后一个事件中包含的事件,或者执行一些复杂的javascript工作来模拟单击事件


此外,重要的是要记住,在处理服务器端事件时,不仅要运行特定的事件处理程序,还要重建整个页面。您需要确保这是您真正想要的。

ASP.Net Ajax Toolkit。查找层叠下拉列表和相关示例。它还将查看act better


ASP.Net Ajax工具包。查找级联下拉列表和相关示例。它还将查看act BERTER


除了该控件没有单击事件之外。我正在关注您,Location…(“onclick”)…添加了一个客户端javascript,它不会调用Public sub newFunction…?因此添加LocationDescription2.click+=newFunction;它引发了一个错误。2)不会添加属性。add(“onclick”)…强制该控件发生单击事件?以下是假设:)VB.NET是隐含的,但经过编辑后更为明确。Gail请参阅Joel Coehoorn的回答,其中解释了如何以及在VB.NET服务器端挂接什么事件。除了该控件没有单击事件之外。我正在关注您,位置…(“onclick”)。。。添加不调用公共子函数的客户端javascript。。。。?因此,添加LocationDescription2。单击+=newFunction;这引起了一个错误。2) 不会添加属性。添加(“onclick”)。。。强制该控件的单击事件?以下是假设:)VB.NET是隐含的,但经过编辑后更为明确。Gail请参阅Joel Coehoorn的回答,该回答解释了如何以及在VB.NET服务器端挂接什么事件……newFunction引发了一个错误。最初,该页面使用级联dropdownlist。用户想要的东西,在这个时候,是超越我。从这里开始寻找解决方案,我认为没有解决方案。非常感谢。Gail…newFunction引发了一个错误。最初,该页面使用级联dropdownlist。用户想要的东西,在这个时候,是超越我。从这里开始寻找解决方案,我认为没有解决方案。非常感谢。盖尔