GridView 中的 Linq to SQL 空值

发布于 2024-07-13 22:27:39 字数 343 浏览 5 评论 0 原文

通常,如果我将 ObjectDataSource 链接到 GridView 并且我有一个 TemplateColumn,其中有一个 Eval 并且它为 Null,我可以只放置一个“.ToString()”,它就可以正常工作。 由于某些原因,当您使用 Linq to SQL 时,此方法的工作方式有所不同。

我最初使用 XSD 文件作为我的 DAL 和自定义 BLL。 我使用 ObjectDataSource 将其绑定到 GridView。 我正在使用 Linq to SQL 交换 XSD 文件,除了可以具有 Null 值的列之外,一切都像旧方式一样工作。

有人以前遇到过这个问题吗?如果是的话,我该如何解决这个问题?

Normally if I'm linking an ObjectDataSource to a GridView and I have a TemplateColumn that has an Eval in it and it's Null, I can just put a ".ToString()" it works fine. For some reason, this doesn't work the same when you're using Linq to SQL.

I originally was using XSD files for my DAL with a custom BLL. I tied it to the GridView with an ObjectDataSource. I'm in the middle of swapping out the XSD files with Linq to SQL and everything is working just like the old way except for the columns that can have Null values.

Has anyone run into this before and if so, how do I work around this problem?

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

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

发布评论

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

评论(1

我还不会笑 2024-07-20 22:27:40

LINQ 返回的大多数内容都是可空类型。 因此,在绑定表达式中,您需要使用 GetValueOrDefault().ToString() 或新的“??” null 合并运算符而不仅仅是普通的旧 ToString()。 我希望这有帮助。 检查这个链接到。

例子:

// this will output the int if not null otherwise an empty string.
<%# (int?)Eval("MyIntegerField") ?? "" %> 

Most everything that LINQ returns is of Nullable types. So in your binding expressions you need to use GetValueOrDefault().ToString() or the new "??" null coalescing operator rather than just plain old ToString(). I hope this helps. Check this link out to.

Example:

// this will output the int if not null otherwise an empty string.
<%# (int?)Eval("MyIntegerField") ?? "" %> 
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文