我试图在一些VB.Net代码中使用lambdas,本质上我试图在调用数据绑定时设置一个标志.
简化它看起来像这样:
Dim dropdownlist As New DropDownList()
dropdownlist.DataSource = New String() {"one", "two"}
Dim databoundCalled As Boolean = False
AddHandler dropdownlist.DataBound, Function(o, e) (databoundCalled = True)
dropdownlist.DataBind()
Run Code Online (Sandbox Code Playgroud)
我的理解是databoundCalled变量应该设置为true,显然我遗漏了一些东西,因为变量总是保持为假.
我需要做些什么来解决它?
在查看您的代码并摸不着头脑之后,我找到了一个有效的解决方案.现在,为什么这对你所拥有的东西起作用,我不清楚.也许这至少会帮助你朝着正确的方向前进.关键的区别是我有一个方法将值设置为true/false.其他一切都是一样的.
这是我的整个Web项目代码:
Partial Public Class _Default
Inherits System.Web.UI.Page
Dim databoundCalled As Boolean = False
Dim dropdownlist As New DropDownList()
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Response.Write(databoundCalled)
Bind()
Response.Write(databoundCalled)
End Sub
Sub Bind()
AddHandler dropdownlist.DataBound, Function(o, e) (SetValue(True))
dropdownlist.DataSource = New String() {"one", "two"}
dropdownlist.DataBind()
End Sub
Function SetValue(ByVal value As Boolean) As Boolean
databoundCalled = value
Return value
End Function
End Class
Run Code Online (Sandbox Code Playgroud)
我希望这有帮助!
vb.net 中的单行 Lambda 始终是表达式,您的 lambda 表达式所做的基本上是说 databoundCalled = True 或 (databoundCalled == True) 如果您的 ac# 人员未设置 databoundCalled = True
| 归档时间: |
|
| 查看次数: |
725 次 |
| 最近记录: |