2

我有一个要渲染的 .aspx 页面,但是当我去渲染字符时,我得到了奇怪的结果。

<%= default(char) %>

在 FF 和 Chrome 中扩展为以下内容,但在 IE 中没有:

如果它是空字符,有没有办法忽略该值?我试过default(char).ToString()了,但似乎有相同的结果。当有一个空字符时,我只想忽略它。

4

1 回答 1

3

char 的默认值为 \0 或等效于 null 但实际上不是 System.Null 值,因此行为符合预期。

如果您想避免该测试:

<%= mychar != '\0' ? mychar : '' %>

记住对字符使用单引号很重要。

我担心的是,要做到这一点还有很长的路要走。您实际上要在主代码中做什么?

编辑:为我的评论中解释的修复提供代码示例:

<%= myobj.charProp == '\0' ? "''" : myobj.charProp.ToString() %>
于 2012-06-02T00:49:07.383 回答