【问题标题】:StringTemplate can not render attribute of LINQ to SQL classStringTemplate 无法呈现 LINQ to SQL 类的属性
【发布时间】:2023-04-07 23:08:01
【问题描述】:

我使用 vs2008 的 GUI 工具生成一些 LINQ to SQL 类,我的问题是 StringTemplate 无法访问那些模型的属性

$persons:{
<li>$it.name$</li>
}$

打印出来了:

<li></li>
<li></li>
<li></li>

namePerson 模型的公共属性。如果我自己创建一个person类,并且属性相同,StringTemplate就可以搞定。

【问题讨论】:

    标签: asp.net linq stringtemplate


    【解决方案1】:

    设计者生成一个相对于编译器的普通类,代码只是自动生成的。我怀疑您还有其他问题 - 也许您没有包含正确的引用/命名空间,或者您有命名空间冲突并且它选择了错误的类。

    【讨论】:

      【解决方案2】:

      这不是正确的解决方案,但我遇到了同样的问题,使用 $it._name$ 对我有用。这是访问私有支持字段,所以不是一个好主意。尽管如此,这意味着 StringTemplate 可以找到该字段,但不能找到与之配套的 name 属性。奇怪。

      编辑:

      知道了。 StringTemplate 假定属性以大写字母开头。因此,如果您的财产被称为Name,它将起作用。您可以在 StringTemplate 的源代码中重命名您的属性或修复有问题的代码 ASTExpr.cs:RawGetObjectProperty 围绕对GetPropertyValueByName 的调用(它使用methodSuffix,而不是propertyName)。

      【讨论】:

        猜你喜欢
        • 2012-09-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-03-13
        相关资源
        最近更新 更多