【问题标题】:Call method with void return type in databinding expression在数据绑定表达式中调用具有 void 返回类型的方法
【发布时间】:2011-08-22 05:34:32
【问题描述】:

是否可以在数据绑定表达式中调用 void 返回方法? (例如,设置一个全局变量。)
以下内容无法编译:

<%# setCurrent(false) %>  // Error: Cannot implicitly convert type 'void' to 'object'

我可以更改方法的返回类型(例如,让它返回一个空对象),但那是作弊。

【问题讨论】:

    标签: c# asp.net data-binding


    【解决方案1】:

    数据绑定的全部意义在于返回一个值以供显示。 (因此错误)

    只返回一个空字符串:)

    【讨论】:

      【解决方案2】:

      我认为在你的陈述之后加一个分号应该使它在语义上是正确的:

      setCurrent(false);
      

      这本身不是“数据绑定”,但它有效。

      【讨论】:

      • 我需要一些可以在标记中使用的东西;不在代码隐藏或脚本块中。
      【解决方案3】:

      这不是非常优雅,但可以完成工作:

      <%# new Func<string>(() => { SomeVoidMethod(); return ""; })() %>
      

      【讨论】:

        猜你喜欢
        • 2021-05-18
        • 1970-01-01
        • 2014-11-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-04-24
        • 2016-07-18
        相关资源
        最近更新 更多