【问题标题】:asp Eval functionasp 评估函数
【发布时间】:2010-07-31 08:35:46
【问题描述】:

我可以将 eval 函数的返回值保存在一个变量中并在我想要的任何地方使用它吗? 我可以在<asp: .... 标签中调用它。我不能在 vb 方法中使用它们。有可能吗?

【问题讨论】:

    标签: asp.net vb.net eval


    【解决方案1】:

    Eval("foo")DataBinder.Eval(Container.DataItem, "foo") 的快捷方式。 Container.DataItem 包含您尝试获取的实际数据,Eval() 方法仅使用反射或其他方式来允许对名称进行后期绑定。

    如果您想要更好的编译时类型检查,您可以随时将Container.DataItem 转换为您想要的任何类型。

    您还可以在其他地方重复使用DataBinder.Eval(),作为使用反射的快捷方式。

    您可以做的一些示例如下:

    <%# DoSomethingWithData (DataBinder.Eval(Container.DataItem, "Foo")) %>
    
    Sub DoSomethingWithData (Object data)
       SomeProperty = data
       DoSomethingWithData = data
    End Sub
    
    <%# DoSomethingWithDataStronglyTyped (Container.DataItem) %>
    
    Sub DoSomethingWithDataStronglyTyped (Object data)
       Dim StronglyTyped as SomeType
       StronglyTyped = DirectCast (data, SomeType)
       DoSomethingWithDataStronglyTyped = DoSomethingElse(StronglyTyped)
    End Sub
    
    Sub ExampleOfDataBinderEvalReuse ()
    
       Dim StronglyTyped as SomeType
       StronglyTyped = GetSomeData()
    
       ' get "Foo" property of the SomeType class
       DataBinder.Eval(StronglyTyped, "Foo")
    End Sub
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-08-14
      • 2019-05-23
      • 2015-12-01
      • 2018-07-31
      • 2019-07-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多