【问题标题】:Calling a method on an injected property (from an ASPX page)在注入的属性上调用方法(从 ASPX 页面)
【发布时间】:2011-08-31 23:36:48
【问题描述】:

我正在自学 Spring.NET 并查看是否已正确连接所有内容,我正在尝试在尝试注入 ASPX 页面的对象上调用方法(我知道这是'可能不是最佳实践)

这是在我的 aspx 文件中(所以我试图在这个 aspx 页面的 orderService 属性上调用“orderDescription”getter)

[some html here]
<%= OrderService.orderDescription() %>
[some more html here]

在我的 Web.config 中,我的“弹簧,对象”部分中有这个

  <object type="Default.aspx">
    <property name="OrderService" ref="orderService"/>
  </object>

当我运行它时,它告诉我在调用静态方法之前我需要一个对象实例,即它认为我正在尝试将“orderDescription”作为 OrderService 上的静态方法调用。但是 Spring 应该将“OrderService”作为我的 aspx 页面的属性注入,所以我为什么不能这样称呼它。

我知道我遗漏了一些简单的东西,但我想不通。感谢任何提示

谢谢

【问题讨论】:

    标签: asp.net spring


    【解决方案1】:

    Here's a summary of what you need to do to get this working。最初我想说“Default.aspx”不是一个类的名称,但我猜 spring.net 必须为你翻译它。您是否将 SpringPageHandler 配置放入您的 web.config 中?另外,您实际上是否在类上定义了一个名为OrderService 的属性并且类型合适?我希望如果你这样做了,那么你实际上会得到一个 NullReferenceException (另一个小提示,你说OrderService.orderDescription() 正在尝试调用 orderDescription 属性上的 getter - 但是你把括号当作方法调用(如果它是只是一个属性,它应该只是OrderService.orderDescription [无括号]))。

    【讨论】:

    • 您好,非常感谢您的提示。今晚我会试一试,你可能是对的,我只是以错误的方式调用这些方法。我想我试图一次学习太多新东西:)
    猜你喜欢
    • 2011-11-12
    • 1970-01-01
    • 1970-01-01
    • 2020-01-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-04
    相关资源
    最近更新 更多