/// <summary> 
    /// 截取字串 
    /// </summary> 
    public string getString(string RawString, Int32 Length)
    {
        if (RawString.Length <= Length)
        {
            return RawString;
        }
        else
        {
            for (Int32 i = RawString.Length - 1; i >= 0; i--)
            {
                if (System.Text.Encoding.GetEncoding("GB2312").GetByteCount(RawString.Substring(0, i)) < Length)
                {
                    return RawString.Substring(0, i) + "...";
                }
            }
            return "...";
        }
    }我是把它放到一个 类库中 ,并在项目右键中“引用”这个类库,但是为什么在页面中不能直接用 编译器错误消息: CS0103: 当前上下文中不存在名称“getString”源错误:行 75:    <%#  getString(DataBinder.Eval(Container.DataItem, "title").ToString(), 10)%>
问题可能相当小白,我才从asp转入.net很多不明白

解决方案 »

  1.   

    如果单独写这页面的cs中可以正常使用,关键是,多个页面都要用到,不可能每个页面的cs中都重写一遍
      

  2.   

    比如说你在一个 MyExt.cs (并且类型名也是MyEx)里边写上 /// <summary> 
         /// 截取字串 
         /// </summary> 
         public static string getString(string RawString, Int32 Length)
    {
        .....
    }
    然后你的设计代码中的绑定表达式,引用getString需要带上命名空间和类名。
      

  3.   

    比如说你在一个 MyExt.cs (并且类型名也是MyEx)里边写上    public static string getString(string RawString, Int32 Length)
         {
         ....
         }
      

  4.   

    用static  修饰静态方法
      

  5.   

    getString方法加static关键字修饰,然后用类名点方法,不加static关键字的话,要实例化类才能调用方法的
      

  6.   

    比如 MyExt.cs 代码如下:
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;namespace MyExt
    {
        public class MyExt
        {
            /// <summary> 
            /// 截取字串 
            /// </summary> 
            public static string getString(string RawString, Int32 Length)
            {
                if (RawString.Length <= Length)
                {
                    return RawString;
                }
                else
                {
                    for (Int32 i = RawString.Length - 1; i >= 0; i--)
                    {
                        if (System.Text.Encoding.GetEncoding("GB2312").GetByteCount(RawString.Substring(0, i)) < Length)
                        {
                            return RawString.Substring(0, i) + "...";
                        }
                    }
                    return "...";
                }
            }
        }
    }
    page.aspx.cs应该如何绑定与引用?
      

  7.   


    编译器错误消息: CS0234: 命名空间“MyExt”中不存在类型或命名空间名称“getString”(是否缺少程序集引用?)源错误:行 16:     <%=MyExt.getString("456464646466", 4)%>