asp 求值函数

发布于 2024-09-12 05:52:05 字数 122 浏览 2 评论 0 原文

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

can i save the returning value of eval function in a variable and use it wherever i want?
i can call it just in <asp: .... tags. i can't use them in vb methods. is it possible?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

櫻之舞 2024-09-19 05:52:05

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

Eval("foo") is a shortcut for DataBinder.Eval(Container.DataItem, "foo"). Container.DataItem contains the actual data you're trying to get at, and the Eval() method simply uses reflection or other means to allow late binding on names.

If you want better compile-time type checking, you can always cast the Container.DataItem to whatever type you want.

You can also re-use DataBinder.Eval() elsewhere, as a shortcut for using Reflection.

Some examples of what you can do are below:

<%# 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
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文