CODE BEHIND 编译出错:Len没有声明
Compiler Error Message: BC30451: Name 'Len' is not declared.Source Error:行号35Line 33: 
Line 34:  Public Function xinwen(str As String,Length As Integer) As String
Line 35:  if Len(str)>Length then 
Line 36:  xinwen=mid(str,1,(Length-3))&"..."
Line 37:  else是不是没有导入相应的命名空间呢?应该导入哪一个?
有没有关于ASP.NET命名空间的完整参考?如果知道请给我一个URL,谢谢!

解决方案 »

  1.   

    Len是Basic的内部函数,在.NET中,放在Microsoft.VisualBasic中。不过,从兼容性考虑,不建议使用LEN,而使用字符串内置的Length属性。因此,说C#是为.NET量身定制的语言,因为C#中没有任何自己的库,而其他的语言因为要照顾老用户的编程习惯会有自己的类库。
      

  2.   

    why do you want to use Len while you can just useif str.Length>Length then ???but see
    Microsoft.VisualBasic.Strings Module
    http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vblr7/html/vaorivbruntimelibrarykeywords.asp
      

  3.   

    谢谢大侠们的回复,在导入了MICROSOFT.VISUALBASIC后,就没有错误了;
    另外如果我使用STR.LENGTH替代LEN()函数,编译到下面一行MID()函数又会因为没有导入VB命名空间而出错,有什么可以替代的方法吗?
    因为正在把原来的ASP站点改到.NET下面,所以会遇到这些问题:(
      

  4.   

    Microsoft.VisualBasic,
    用Microsoft.VisualBasic.Len(str)
    应该不会有问题的
      

  5.   

    谢谢saucer提供的URL,如果一定要导入VB的NameSpace的话,那么导入其中关于字符串处理的类库Microsoft.VisualBasic.Strings是不是效率更高呢?
      

  6.   

    look into String.Substring method
      

  7.   

    Thanks a lot,The problem solved perfectly!