C# ASPX空字符错误
我尝试渲染一个.aspx页面,但当我去渲染角色时,会得到奇怪的结果C# ASPX空字符错误,c#,asp.net,C#,Asp.net,我尝试渲染一个.aspx页面,但当我去渲染角色时,会得到奇怪的结果 <%= default(char) %> 如果是空字符,有没有办法忽略该值?我尝试了default(char).ToString(),但结果似乎是一样的。当有空字符时,我只想忽略它。char的默认值是\0,或者它等效于null,但实际上不是System.null值,因此行为符合预期 如果您希望避免该测试,请执行以下操作: <%= mychar != '\0' ? mychar : '' %> 记住
<%= default(char) %>
如果是空字符,有没有办法忽略该值?我尝试了
default(char).ToString()
,但结果似乎是一样的。当有空字符时,我只想忽略它。char的默认值是\0,或者它等效于null,但实际上不是System.null值,因此行为符合预期
如果您希望避免该测试,请执行以下操作:
<%= mychar != '\0' ? mychar : '' %>
记住对字符使用单引号是很重要的
我担心的是,要做到这一点还有很长的路要走;您在主代码中实际要做什么
编辑:为我的注释中解释的修复程序提供代码示例:
<%= myobj.charProp == '\0' ? "''" : myobj.charProp.ToString() %>
我认为如果您显示您的真实代码,我们可以提供更好的帮助。这是我的真实代码,请尝试将其准确地放入.aspx页面,并使用FF或Chrome查看。我想找到一种转换,它将打印默认值(字符)
,就像打印”
一样。执行default(char).toString()
只会产生相同的奇数字符。我试图打印对象的char
属性,但如果尚未初始化,则忽略该字符。我正在创建一个JavaScript字符串,如果我能在obj.Prop==default(char)
时打印'
,在obj.Prop==n'
时打印'
,那就太好了;我已经在上面的回答中添加了这一点;您需要在第三层的两边都有一个字符串,否则编译器会向您抱怨。我很好奇什么类型的对象具有char属性,是有特殊原因还是您试图节省空间,还是来自某种互操作?它是以这种方式创建的,以强制与db表中的char(1)
字段严格兼容。作者认为这很聪明。啊,我和你一样痛苦!如果有帮助的话,.Net中的Char与Int是隐式兼容的;所以,如果你这样读的话,你可以简单地做得很好,我不完全确定这是否会让它更清晰,但这可能有助于处理这个奇怪的空比较。
<%= myobj.charProp == '\0' ? "''" : myobj.charProp.ToString() %>