gpt4 book ai didi

c# - 如何将 Eval() 与包含点 (.) 的列名称一起使用?

转载 作者:太空狗 更新时间:2023-10-29 19:26:35 32 4
gpt4 key购买 nike

在我的 SQL Server 表中有一列 slno. (是的,它包含一个点)在 SQL Server 中运行良好。然而,<%#Eval("slno.")%>出现错误:

DataBinding: 'System.Data.DataRowView' does not contain a property with the name 'slno'.

如何解决?我无法更改数据库中的列名:我正在从 stored procedure 获取数据所以我不能修改它。

<ItemTemplate> <%#Eval("slno.") %> </ItemTemplate>

最佳答案

使用

<%# ((DataRowView)Container.DataItem)["slno."] %>

交替使用

<%# DataBinder.Eval (Container.DataItem, "slno.") %>

有关 MSDN 引用,请参阅 http://msdn.microsoft.com/en-us/library/4hx47hfe.aspx

编辑 - 另一个选项:

<%# DataBinder.GetPropertyValue(Container.DataItem, "slno.") %>

编辑 2 - 根据评论:

AFAIK Eval 将字符串作为表达式处理,它使用某些规则对其求值 - 这些规则对点有特殊处理...

GetPropertyValue OTOH 不应用这些规则(这意味着它不是 Eval AFAIK 的完全替代品)因此能够处理点处理 Eval 会导致问题(如本例)。

关于c# - 如何将 Eval() 与包含点 (.) 的列名称一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7574588/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com